- 下载安装包
下载地址:https://dev.mysql.com/downloads/mysql/ - 登录linux主机,切换root用户,创建mysql用户及用户组
# groupadd mysql # useradd -g mysql -d /mysql -m mysql # mkdir /mysql/data
- 解压安装包并解压到目录/mysql下
# tar -xzvf mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz # cd mysql-5.7.24-linux-glibc2.12-x86_64 # mv * /mysql
- 初始化数据库,此时会出现root用户初始密码 dcGV&Pk8yk1f ,记录下来
# cd /mysql # ./bin/mysqld --user=mysql --basedir=/mysql --datadir=/mysql/data --initialize 2018-11-02T08:12:14.468062Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details). 2018-11-02T08:12:14.588001Z 0 [Warning] InnoDB: New log files created, LSN=45790 2018-11-02T08:12:14.636800Z 0 [Warning] InnoDB: Creating foreign key constraint system tables. 2018-11-02T08:12:14.728791Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: 01c9f5d4-de77-11e8-8bc2-0800278ecbd0. 2018-11-02T08:12:14.732082Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened. 2018-11-02T08:12:14.734684Z 1 [Note] A temporary password is generated for root@localhost: dcGV&Pk8yk1f
P.S.如果出现"[ERROR] --initialize specified but the data directory has files in it. Aborting.",则清空数据文件夹后再执行上一步中4的初始化指令
# cd /mysql/data # rm -fr *
- 编辑配置文件/mysql/support-files/mysql.server
# vim /mysql/support-files/mysql.server ... basedir=/mysql datadir=/mysql/data ...
- 创建软连接
# ln -s /mysql/bin/mysql /usr/bin/mysql # ln -s /mysql/bin/mysql /usr/bin/ # ln -s /mysql/bin/mysqladmin /usr/bin/
- 创建配置文件/etc/my.cnf
# vim /etc/my.cnf [mysql] default-character-set=utf8 socket=/mysql/socket/mysql.sock [mysqld] datadir=/mysql/data basedir=/mysql user=mysql socket=/mysql/socket/mysql.sock log-error=/mysql/log/mysqld.log symbolic-links=0 character_set_server=utf8 init_connect='SET NAMES utf8' [mysqld_safe] log-error=/mysql/log/safe-mysqld.log pid-file=/mysql/pid/mysqld.pid
- 创建配置文件中的相关路径并创建文件,并将mysql文件夹赋权给mysql用户
mkdir /mysql/socket mkdir /mysql/socket mkdir /mysql/log mkdir /mysql/pid touch /mysql/log/mysqld.log touch /mysql/socket/mysql.sock chown -R mysql:mysql mysql/
- 启动服务
./mysql/support-files/mysql.server start Starting MySQL. SUCCESS!
-
设置mysql为自启动
拷贝启动文件到/etc/init.d/下并重命令为mysqld,增加执行权限# cp /mysql/support-files/mysql.server /etc/init.d/mysqld # chmod 755 /etc/init.d/mysqld
添加自启动
# chkconfig --list mysqld # chkconfig --add mysqld # chkconfig mysqld on
-
初始化root用户密码
此时使用记录下来的初始密码进行初始化,并输入初始密码dcGV&Pk8yk1f,设置新密码为123
#mysql -u root -p mysql Enter password: dcGV&Pk8yk1f Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 5 Server version: 5.7.24 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> set password for root@localhost = password('123');
-
mysql远程授权
grant all privileges on *.* to 'root'@'%' identified by '123'; FLUSH PRIVILEGES;
done