来自 技术 2019-03-16 00:00 的文章

Linux安装MySQL8.0.12之二进制安装

开发十年,就只剩下这套架构体系了!>>>

Linux安装MySQL8.0.12之二进制安装 2018年07月29日 01:21:31 vkingnew 阅读数:6050 版权声明:本文为博主原创文章,转载请注明出处 https://blog.csdn.net/vkingnew/article/details/81267223

运行环境:centos+mysql8.0.12 1.下载官方打包好的二进制安装包: #wget https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.12-linux-glibc2.12-x86_64.tar.xz 可以看到这个版本采用了tar.xz的打包压缩方式,文件只有350M左右,下载还是满方便的。 # du -sh mysql-8.0.12-linux-glibc2.12-x86_64.tar.xz 339M mysql-8.0.12-linux-glibc2.12-x86_64.tar.xz 2.解压文件: #tar -xJvf mysql-8.0.12-linux-glibc2.12-x86_64.tar.xz -C /usr/local/ # mv /usr/local/mysql-8.0.12-linux-glibc2.12-x86_64/ /usr/local/mysql 3.配置参数文件: # cat /etc/my.cnf [mysqld] server-id = 1 port = 3306 mysqlx_port = 33060 mysqlx_socket = /tmp/mysqlx.sock datadir = /data/mysql socket = /tmp/mysql.sock pid-file = /tmp/mysqld.pid log-error = error.log slow-query-log = 1 slow-query-log-file = slow.log long_query_time = 0.2 log-bin = bin.log relay-log = relay.log binlog_format =ROW relay_log_recovery = 1 character-set-client-handshake = FALSE character-set-server = utf8mb4 collation-server = utf8mb4_unicode_ci init_connect ='SET NAMES utf8mb4' innodb_buffer_pool_size = 1G join_buffer_size = 128M sort_buffer_size = 2M read_rnd_buffer_size = 2M log_timestamps = SYSTEM lower_case_table_names = 1 default-authentication-plugin =mysql_native_password 4.创建目录授权等: # groupadd mysql # useradd mysql # mkdir -p /data/mysql # chown -R mysql:mysql /data/mysql/ # chmod -R 775 /data/mysql/ 5.初始化数据库: #/usr/local/mysql/bin/mysqld --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql --initialize-insecure 官方推荐使用--initialize,会在错误日志中生成难以输入的临时密码,我这里使用的免密码的方式。 # cat /data/mysql/error.log | grep -i password 2018-07-29T02:06:41.253856+08:00 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: wquR3-Kxlg1d 6.设置启动文件和环境变量: #cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql --启动数据库: # /etc/init.d/mysql start Starting MySQL.Logging to '/data/mysql/error.log'. SUCCESS! # vim /etc/profile.d/mysql.sh # cat /etc/profile.d/mysql.sh export PATH=$PATH:/usr/local/mysql/bin # source /etc/profile.d/mysql.sh # mysqld --version mysqld Ver 8.0.12 for linux-glibc2.12 on x86_64 (MySQL Community Server - GPL) [root@node4 mysql]# /usr/local/mysql/bin/mysql -p -S /tmp/mysql.sock Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 7 Server version: 8.0.12 MySQL Community Server - GPL Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> select version(); +-----------+ | version() | +-----------+ | 8.0.12 | +-----------+ 1 row in set (0.00 sec) 7.设置可以远程登录的账号: mysql> show variables like '%valid%pass%'; Empty set (0.00 sec) mysql> create user root@'%' identified by 'oracle'; ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement mysql> show variables like '%valid%pass%'; ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement. mysql> alter user root@'localhost' identified by 'oracle'; Query OK, 0 rows affected (0.07 sec) mysql> show variables like '%valid%pass%'; Empty set (0.01 sec) --创建可以远程登录的用户: mysql> create user root@'%' identified by 'oracle'; Query OK, 0 rows affected (0.06 sec) mysql> grant all privileges on *.* to root@'%' with grant option; Query OK, 0 rows affected (0.07 sec) mysql> flush privileges; Query OK, 0 rows affected (0.00 sec) 总结: 官方虽然提供RPM安装方式但是不少默认参数还是不太方便平常的使用,对生产而言则需要修改更多的地方,但是很适合初级用户快速安装使用; 而对二进制安装包 只需要下载按照自定义的设置安装即可 方便快捷 可自主配置,适合生产布署。