linux下 mysql5.7.20安装(精华)

在linux 系统中mysql配置文件的读取顺序为:

/etc/my.cnf /etc/mysql/my.cnf /usr/local/mysql/etc/my.cnf ~/.my.cnf

第一步 创建mysql用户
groupadd mysql
useradd -g mysql -d /home/mysql mysql
mkdir /var/lib/mysql/
chown mysql.mysql /var/lib/mysql/
创建mysql的数据文件存放路径
以下操作全为mysql用户
su - mysql
cd /home/mysql
mkdir mysql_data
第二步 解压文件
tar -zxvf mysql-5.7.20-linux-glibc2.12-x86_64.tar.gz
mv mysql-5.7.20-linux-glibc2.12-x86_64 mysql-5.7.20
cd /home/mysql/mysql-5.7.20/bin

第三步 初始化数据库 (先配置my.cnf,参考下面的附录配置)
bin/mysqld --user=mysql --basedir=/home/mysql/mysql-5.7.20 --datadir=/home/mysql/mysql_data --initialize

并记录 密码 2017-12-07T08:52:39.349988Z 1 [Note] A temporary password is generated for root@localhost:1x31yHa.=

mysqld_safe启动脚本默认的从/etc/my.cnf

提供三种启动方式

1.bin/mysqld --defaults-file=/etc/my.cnf &

2.bin/mysqld_safe --user=mysql &

3.cd /home/mysql/mysql-5.7.20/support-files

启动 mysql.server start

停止mysql.server stop

重启mysql.server restart

第四步 登录mysql

ln -s /home/mysql/mysql-5.7.20/mysql.sock /tmp/mysql.sock
bin/mysql -uroot -p
alter user 'root'@'localhost' identified by 'root123';

以新密码的命令进去就ok了

任意主机能连接:
mysql>GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
mysql>flush privileges;

附录:my.cnf的配置

vi /etc/my.cnf
下边是my.cnf配置文件:

##################################################

[client]
socket =/home/mysql/mysql-5.7.20/mysql.sock

[mysqld]

basedir=/home/mysql/mysql-5.7.20
datadir=/home/mysql/mysql_data 
character-set-server=utf8
collation-server=utf8_general_ci
wait_timeout=31536000

max_connections=1000

interactive_timeout=31536000
lower_case_table_names=1
port = 3306
socket=/home/mysql/mysql-5.7.20/mysql.sock
join_buffer_size = 128M
sort_buffer_size = 2M
read_rnd_buffer_size = 2M
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

##############################################################

如果需要设置自动启动

su - root
cp support-files/mysql.server /etc/init.d/mysql.server

原文地址:https://www.cnblogs.com/staryea/p/8514123.html