cnetos7下mysql-8.0.20安装
1、下载安装包
进入官网(https://dev.mysql.com/downloads/mysql/)下载指定版本的mysql安装包。

这里根据系统版本下载的是mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz压缩文件包。
2、解压压缩文件
1 [developer@iZuf6ai62xce7yu53epv2jZ soft]$ xz -d mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz 2 [developer@iZuf6ai62xce7yu53epv2jZ soft]$ tar xvf mysql-8.0.20-linux-glibc2.12-x86_64.tar
然后将解压后的文件夹移动到指定的目录下:
1 [developer@iZuf6ai62xce7yu53epv2jZ soft]$ sudo mv mysql-8.0.20-linux-glibc2.12-x86_64 /usr/local/mysql-8.0.20 2 [developer@iZuf6ai62xce7yu53epv2jZ soft]$ cd /usr/local/mysql-8.0.20/
3 [developer@iZuf6ai62xce7yu53epv2jZ soft]$ sudo mkdir log
3、初始化mysql
在初始化前先创建mysql的独立用户,并创建初始化配置文件。
1 [developer@iZuf6ai62xce7yu53epv2jZ mysql-8.0.20]$ sudo useradd -M -s /sbin/nologin mysql
2 [developer@iZuf6ai62xce7yu53epv2jZ mysql-8.0.20]$ sudo chown -R mysql:mysql /usr/local/mysql-8.0.20/ 3 [developer@iZuf6ai62xce7yu53epv2jZ mysql-8.0.20]$ vim /etc/my.cnf
然后在my.cnf中添加内容:
1 #dvice on how to change settings please see 2 # http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html 3 [mysqld] 4 # 5 # Remove leading # and set to the amount of RAM for the most important data 6 # cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%. 7 # innodb_buffer_pool_size = 128M 8 # 9 # Remove leading # to turn on a very important data integrity option: logging 10 # changes to the binary log between backups. 11 # log_bin 12 # 13 # Remove leading # to set options mainly useful for reporting servers. 14 # The server defaults are faster for transactions and fast SELECTs. 15 # Adjust sizes as needed, experiment to find the optimal values. 16 # join_buffer_size = 128M 17 # sort_buffer_size = 2M 18 # read_rnd_buffer_size = 2M 19 port=3306 20 datadir=/usr/local/mysql-8.0.20/data 21 #socket=/data/mysql/mysql.sock 22 23 # Disabling symbolic-links is recommended to prevent assorted security risks 24 #symbolic-links=0 25 26 log-error=/usr/local/mysql-8.0.20/log/error.log 27 pid-file=/usr/local/mysql-8.0.20/log/mysqld.pid 28 29 # 忘记密码后设置登录不需要密码 30 #skip-grant-tables 31 default-authentication-plugin=mysql_native_password 32 character_set_server=utf8mb4 33 sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' 34 35 # 忽略表名大小写。0:表名存储为给定的大小和比较是区分大小写的 1: 表名存储在磁盘是小写的,但是比较的时候是不区分大小写 2: 表名存储为给定的大小写但是比较的时候是小写的 36 lower_case_table_names=1 37 38 39 log-bin-trust-function-creators=1 40 41 # 开启慢查询日志 42 #log-bin=mysql-bin 43 slow_query_log=on 44 slow_query_log_file=/usr/local/mysql-8.0.20/log/slow_query.log 45 long_query_time=10 46 47 max_connections=10000 48 interactive_timeout = 500 49 wait_timeout = 300 50 51 [client] 52 default-character-set = utf8mb4
保存退出文件编辑。
执行初始化操作:
1 [developer@iZuf6ai62xce7yu53epv2jZ mysql-8.0.20]$ sudo ./bin/mysqld --user=mysql --basedir=/usr/local/mysql-8.0.20/ --datadir=/usr/local/mysql-8.0.20/data/ --initialize
初始化操作完成后,通过日志查看初始化时的密码:
1 [developer@iZuf6ai62xce7yu53epv2jZ mysql-8.0.20]$ sudo cat log/error.log 2 2020-06-19T02:25:05.443998Z 0 [System] [MY-013169] [Server] /usr/local/mysql-8.0.20/bin/mysqld (mysqld 8.0.20) initializing of server in progress as process 17882 3 2020-06-19T02:25:05.450425Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started. 4 2020-06-19T02:25:07.131128Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended. 5 2020-06-19T02:25:08.071779Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: q4K1uzeUSw?!
4、配置mysql服务
首先将mysql添加到环境变量,这样可以在磁盘任何地方进行调用mysql命令:
1 [developer@iZuf6ai62xce7yu53epv2jZ mysql-8.0.20]$ sudo vim /etc/profile 2 # 在文件末尾处进行添加 3 PATH=$PATH:/usr/local/mysql-8.0.20/bin 4 export PATH 5 [developer@iZuf6ai62xce7yu53epv2jZ mysql-8.0.20]$ source /etc/profile
配置mysql服务:
1 [developer@iZuf6ai62xce7yu53epv2jZ mysql-8.0.20]$ sudo vim /usr/lib/systemd/system/mysqld.service 2 # 在文件中进行添加 3 [Unit] 4 Description=MySQL Server 5 Documentation=man:mysqld(8) 6 Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html 7 After=network.target 8 After=syslog.target 9 10 [Install] 11 WantedBy=multi-user.target 12 [Service] 13 User=mysql 14 Group=mysql 15 ExecStart=/usr/local/mysql-8.0.20/bin/mysqld 16 LimitNOFILE = 65536 17 LimitNPROC = 65536 18 19 [developer@iZuf6ai62xce7yu53epv2jZ mysql-8.0.20]$ sudo systemctl daemon-reload
测试服务是否正确配置:
1 [developer@iZuf6ai62xce7yu53epv2jZ mysql-8.0.20]$ sudo systemctl start mysqld 2 [developer@iZuf6ai62xce7yu53epv2jZ mysql-8.0.20]$ sudo systemctl status mysqld 3 ● mysqld.service - MySQL Server 4 Loaded: loaded (/usr/lib/systemd/system/mysqld.service; disabled; vendor preset: disabled) 5 Active: active (running) since Fri 2020-06-19 10:34:57 CST; 4s ago 6 Docs: man:mysqld(8) 7 http://dev.mysql.com/doc/refman/en/using-systemd.html 8 Main PID: 18129 (mysqld) 9 Tasks: 39 (limit: 26213) 10 Memory: 332.4M 11 CGroup: /system.slice/mysqld.service 12 └─18129 /usr/local/mysql-8.0.20/bin/mysqld 13 14 Jun 19 10:34:57 iZuf6ai62xce7yu53epv2jZ systemd[1]: Started MySQL Server. 15 [developer@iZuf6ai62xce7yu53epv2jZ mysql-8.0.20]$ sudo systemctl stop mysqld 16 [developer@iZuf6ai62xce7yu53epv2jZ mysql-8.0.20]$ sudo systemctl restart mysqld 17 [developer@iZuf6ai62xce7yu53epv2jZ mysql-8.0.20]$ ps -ef|grep mysql 18 mysql 18184 1 9 10:36 ? 00:00:00 /usr/local/mysql-8.0.20/bin/mysqld
将启动,查看状态,关闭,重启命令,查看进程进行调用后,可见服务正常配置。
设置mysql开机自启动:
1 [developer@iZuf6ai62xce7yu53epv2jZ mysql-8.0.20]$ sudo systemctl enable mysqld 2 Created symlink /etc/systemd/system/multi-user.target.wants/mysqld.service → /usr/lib/systemd/system/mysqld.service.
5、修改mysql初始密码
mysql的初始密码必须进行修改,否则无法进行其他操作。登录mysql修改密码,初始密码即为上面日志文件中的密码:
1 [developer@iZuf6ai62xce7yu53epv2jZ mysql-8.0.20]$ mysql -uroot -p 2 Enter password: 3 Welcome to the MySQL monitor. Commands end with ; or \g. 4 Your MySQL connection id is 8 5 Server version: 8.0.20 6 7 Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved. 8 9 Oracle is a registered trademark of Oracle Corporation and/or its 10 affiliates. Other names may be trademarks of their respective 11 owners. 12 13 Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. 14 15 mysql> ALTER USER root@'localhost' IDENTIFIED BY '123456'; 16 Query OK, 0 rows affected (0.01 sec) 17 18 mysql> flush privileges; 19 Query OK, 0 rows affected (0.01 sec)

浙公网安备 33010602011771号