安装依赖包
yum - y install ncurses ncurses- devel bison cmake
创建一个不可登录的用户
[ root@server1 ~ ] # useradd - s / sbin/ nologin mysql
导入安装包
mysql-boost-5.7.20.tar.gz
解包
[ root@server1 ~ ] # tar xf mysql- boost- 5.7 .20 . tar. gzcd mysql- 5.7 .20 /
配置信息
[ root@server1 ~ ] # cd mysql- 5.7 .20 /
cmake \
- DCMAKE_INSTALL_PREFIX = / usr/ local/ mysql \
- DMYSQL_UNIX_ADDR = / usr/ local/ mysql/ mysql. sock \
- DSYSCONFDIR = / etc \
- DSYSTEMD_PID_DIR = / usr/ local/ mysql \
- DDEFAULT_CHARSET = utf8 \
- DDEFAULT_COLLATION = utf8_general_ci \
- DWITH_INNOBASE_STORAGE_ENGINE = 1 \
- DWITH_ARCHIVE_STORAGE_ENGINE = 1 \
- DWITH_BLACKHOLE_STORAGE_ENGINE = 1 \
- DWITH_PERFSCHEMA_STORAGE_ENGINE = 1 \
- DMYSQL_DATADIR = / usr/ local/ mysql/ data \
- DWITH_BOOST = boost \
- DWITH_SYSTEMD = 1
进行编译安装
[ root@server1 ~ ] # make && make install
赋予权限
[ root@server1 mysql- 5.7 .20 ] # cd
[ root@server1 ~ ] # chown - R mysql. mysql / usr/ local/ mysql/
配置文件
[ root@server1 ~ ] # vi / etc/ my. cnf
[ client]
port = 3306
default - character- set = utf8
socket = / usr/ local/ mysql/ mysql. sock
[ mysql]
port = 3306
default - character- set = utf8
socket = / usr/ local/ mysql/ mysql. sock
[ mysqld]
user = mysql
basedir = / usr/ local/ mysql
datadir = / usr/ local/ mysql/ data
port = 3306
character_set_server = utf8
pid- file = / usr/ local/ mysql/ mysql. pid
socket = / usr/ local/ mysql/ mysql. sock
server- id = 1
sql_mode= NO_ENGINE_SUBSTITUTION , STRICT_TRANS_TABLES , NO_AUTO_CREATE_USER , NO_AUTO_VALUE_ON_ZERO , NO_ZERO_IN_DATE , NO_ZERO_DATE , ERROR_FOR_DIVISION_BY_ZERO , PIPES_AS_CONCAT , ANSI_QUOTES
赋予权限
[ root@server1 ~ ] # chown mysql. mysql / etc/ my. cnf
环境变量配置
[ root@server1 ~ ] # echo 'PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH' >> / etc/ profile
[ root@server1 ~ ] # echo 'export PATH' >> / etc/ profile
[ root@server1 ~ ] # tail - 5 / etc/ profile
[ root@server1 ~ ] # source / etc/ profile
初始化配置
[ root@server1 ~ ] # cd / usr/ local/ mysql/
[ root@server1 mysql] # bin/ mysqld \
> -- initialize- insecure \
> -- user= mysql \
> -- basedir= / usr/ local/ mysql \
> -- datadir= / usr/ local/ mysql/ data
[ root@server1 mysql] # cp usr/ lib/ systemd/ system/ mysqld. service / usr/ lib/ systemd/ system
[ root@server1 ~ ] # systemctl daemon- reload
[ root@server1 ~ ] # systemctl start mysqld
[ root@server1 ~ ] # systemctl enable mysqld
设置登录密码
[ root@server1 ~ ] # mysqladmin - uroot - p password '123123'
[ root@server1 ~ ] # mysql - uroot - p
输入密码123123
修改密码
方法一:进入内部修改密码
[ root@server1 ~ ] # mysql - uroot - p123123
修改密码为abcabc
set password for root@localhost = password ( 'abcabc' ) ;
方法二:在外面修改密码
[ root@server1 ~ ] # mysqladmin - uroot - p123123 password 'abcabc'
[ root@server1 ~ ] # mysql - uroot - pabcabc
方法三:数据库表修改
[ root@server1 ~ ] # mysql - uroot - pabcabc
mysql> show databases;
mysql> use mysql;
mysql> show tables;
mysql> use mysql;
mysql> update mysql. user set authentication_string = password ( '123123' ) where user= 'root' and host= 'localhost' ;
mysql> flush privileges;
mysql> exit
登录验证密码123123
[ root@server1 ~ ] # mysql - uroot - p123123
方法四
mysqladmin - uroot - pabcabc password 'abcabc'
修改密码为abcabc
[ root@server1 ~ ] # mysql - uroot - pabcabc
登录验证
无密码登录
[ root@server1 ~ ] # vi / etc/ my. cnf
skip_name_resolve
skip_grant_tables
bind- address= 0.0 .0 .0
[ root@server1 ~ ] # systemctl restart mysqld
[ root@server1 ~ ] # mysql
恢复密码登录
[ root@server1 ~ ] # vi / etc/ my. cnf
skip_name_resolve
skip_grant_tables
bind- address= 0.0 .0 .0
[ root@server1 ~ ] # systemctl restart mysqld
[ root@server1 ~ ] # mysql - uroot - p123123
设置密码为123123
[ root@server1 ~ ] # mysql