从mysql官网下载安装包:/mysql-5.7.20-linuxglibc2.12-x86_64.tar.gz
#切换目录 cd /usr/local #解压下载的安装包 tar -zxvf /software/mysql/mysql-5.7.20-linux-glibc2.12-x86_64.tar.gz #重命名 mv mysql-5.7.20-linux-glibc2.12-x86_64 mysql #建立数据存储目录 mkdir data #建立用户组 groupadd mysql #建立用户,并禁止用户登录 useradd -r -s /sbin/nologin -g mysql mysql -d /usr/local/mysql #改变文件归属 chown -R mysql.mysql /usr/local/mysql/ #初始化系统数据库,记住不能用./bin/mysql_install_db,已经过期了 ./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/
初始化后,会打印日志,如下 ,注意看最后输出,红色标记部分,这个就是root的临时密码。
2018-01-12T05:08:12.048923Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see doc umentation for more details). 2018-01-12T05:08:12.228535Z 0 [Warning] InnoDB: New log files created, LSN=45790 2018-01-12T05:08:12.251370Z 0 [Warning] InnoDB: Creating foreign key constraint system tables. 2018-01-12T05:08:12.305856Z 0 [Warning] No existing UUID has been found, so we a ssume that this is the first time that this server has been started. Generating a new UUID: 968b7130-f756-11e7-8704-000c29009e57. 2018-01-12T05:08:12.306388Z 0 [Warning] Gtid table is not ready to be used. Tabl e ‘mysql.gtid_executed‘ cannot be opened. 2018-01-12T05:08:12.307188Z 1 [Note] A temporary password is generated for root@localhost: LwchxXdoO5*8
配置数据库:
vi /etc/my.cnf
my.cnf内容:
[mysqld] #目录设置 basedir=/usr/local/mysql datadir=/usr/local/mysql/data port=3306 #服务ID socket=/tmp/mysql.sock #数据库表名大小写不敏感 lower_case_table_names=1 #设置字符集,防止中文乱码 init_connect=‘SET collation_connection = utf8_general_ci‘ init_connect=‘SET NAMES utf8‘ character-set-server=utf8 collation-server=utf8_general_ci skip-character-set-client-handshake [client] default-character-set=utf8 [mysql] default-character-set=utf8
安装成服务:
cp -a ./support-files/mysql.server /etc/init.d/mysqld
启动服务
service mysqld start
登录到mysql
./bin/mysql -u root -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 3 Server version: 5.7.20 Copyright (c) 2000, 2017, 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> grant all privileges on *.* to root@"%" identified by "2018dlj123!@#0112" with grant option; ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
一开始想做授权,结果发现报错,原因是必须要修改初始密码。
修改初始密码:
mysql> ALTER USER USER() IDENTIFIED BY ‘test123456‘;
Query OK, 0 rows affected (0.00 sec)
mysql> use mysql
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql> grant all privileges on *.* to root@"%" identified by "test123456" with grant option;
Query OK, 0 rows affected, 1 warning (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
至此安装完毕!