1.下载
wget: https://dev.MysqL.com/get/Downloads/MysqL-5.7/MysqL-5.7.23-linux-glibc2.12-x86_64.tar.gz
2、将MysqL安装到/usr/local/MysqL下
# 解压
tar -xvf MysqL-5.7.23-linux-glibc2.12-x86_64.tar.gz
# 移动
mv MysqL-5.7.23-linux-glibc2.12-x86_64 /usr/local/
# 重命名
mv /usr/local/MysqL-5.7.23-linux-glibc2.12-x86_64 /usr/local/MysqL
3.新建data目录
mkdir /usr/local/MysqL/data
4、新建MysqL用户、MysqL用户组
# MysqL用户组
groupadd MysqL
# MysqL用户
useradd MysqL -g MysqL
5、将/usr/local/MysqL的所有者及所属组改为MysqL
chown -R MysqL.MysqL /usr/local/MysqL
6、配置(实列化成功会出现密码root@localhost: q9fSP9uRDa-R)
/usr/local/MysqL/bin/MysqL_install_db --user=MysqL --basedir=/usr/local/MysqL/ --datadir=/usr/local/MysqL/data
#如果报错, 则使用以下命令:
/usr/local/MysqL/bin/MysqLd --user=MysqL --basedir=/usr/local/MysqL/ --datadir=/usr/local/MysqL/data --initialize
或者
bin/MysqLd --initialize --user=MysqL --basedir=/usr/local/MysqL --datadir=/usr/local/MysqL/data --lc_messages_dir=/usr/local/MysqL/share --lc_messages=en_US
7.添加my.cnf(5.7.23没有默认my.cnf需要自己配置)
vi /etc/my.cnf
[MysqL]
# 设置MysqL客户端默认字符集
default-character-set=utf8
socket=/var/lib/MysqL/MysqL.sock
[MysqLd]
#skip-name-resolve
#设置3306端口
port = 3306
socket=/var/lib/MysqL/MysqL.sock
# 设置MysqL的安装目录
basedir=/usr/local/MysqL
# 设置MysqL数据库的数据的存放目录
datadir=/usr/local/MysqL/data
# 允许最大连接数
max_connections=10000
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
#lower_case_table_name=1
max_allowed_packet=16M
8.开机启动
加入服务
cp /usr/local/MysqL/support-files/MysqL.server /etc/init.d/MysqL
# 开机自启
chkconfig MysqL on
# 开启
service MysqL start
9.登录MysqL修改密码(之前实列化有密码)
MysqL -u root -p
修改密码
set password = password('密码')
10.允许远程访问
MysqL -u root -p
use MysqL;
update user set host='%' where user = 'root';
flush privileges;
eixt;
***************** 可能出现问题和解决方案 *******************
二进制安装MysqL初始化出现:Installing MysqL system tables.../usr/local/MysqL/bin/MysqLd: error while loading shared
原因:缺少libaio库文件
解决方法:yum install libaio* -y
出现:Starting MysqL.2019-11-13T01:52:46.980719Z MysqLd_safe error: log-error set to '/var/log/mariadb/mariadb.log', however file don't exists. Create writable for user 'MysqL'.
The server quit without updating PID file (/usr/local/MysqL[Failed]bp1629dthbt44srhzw93Z.pid).
解决方案
1、mkdir /var/log/mariadb
2、touch /var/log/mariadb/mariadb.log
3、chown -R MysqL:db /var/log/mariadb/
4、chown -R MysqL:db /var/log/mariadb/mariadb.log
5、chown -R MysqL:MysqL /var/log/mariadb/mariadb.log
出现:MysqLd_safe Directory '/var/lib/MysqL' for UNIX socket file don't exists.
解决方案
1、 mkdir /var/lib/MysqL
2、chmod 777 /var/lib/MysqL
出现:-bash: MysqL: command not found
解决方案
1、ln -s /usr/local/MysqL/bin/MysqL /usr/bin
出现:You must reset your password using ALTER USER statement before executing this statement
解决方案:
ALTER USER USER() IDENTIFIED BY '密码';