1.下载MySQL
wget -O mysql.tar.gz https://cdn.mysql.com/archives/mysql-5.7/mysql-5.7.18-linux-glibc2.5-x86_64.tar.gz
2.创建MySQL用户(若已创建,则忽略)
groupadd mysql
useradd -g mysql mysql
3.更改用户组和用户权限
chown -R mysql:mysql mysql
chgrp -R mysql mysql
4.解压下载后的文件
tar xzvf mysql.tar.gz -C mysql
5.编辑初始化shell,初始化数据库.
由于该版本未在解压后的文件中找到 'my.cnf' 配置文件,
故采用 'shell' 命令参数初始化数据库和启动数据库
5.1 编辑如下脚本
vi 10-initialize.sh
MYSQL_HOME=/home/mysql
MYSQL_EXE=${MYSQL_HOME}/01-mysql-server/bin/mysqld
MYSQL_BASE=${MYSQL_HOME}/01-mysql-server
MYSQL_DATA=${MYSQL_HOME}/02-mysql-data
MYSQL_SLOW=${MYSQL_HOME}/03-mysql-log/02-mysql-data.slow.log
MYSQL_ERROR=${MYSQL_HOME}/03-mysql-log/02-mysql-data.err.log
MYSQL_SOCKET=${MYSQL_HOME}/03-mysql-log/02-mysql-data.sock
${MYSQL_EXE} \
--initialize \
--user=mysql \
--basedir=${MYSQL_BASE} \
--datadir=${MYSQL_DATA} \
--bind-address=0.0.0.0 \
--innodb_read_io_threads=6 \
--slow_query_log=1 \
--slow_query_log_file=${MYSQL_SLOW} \
--long_query_time=1 \
--character-set-server=utf8 \
--collation-server=utf8_general_ci \
--socket=${MYSQL_SOCKET} \
--log-error=${MYSQL_ERROR} \
--innodb_flush_method=O_DIRECT
vi 11-start-mysql.sh
MYSQL_HOME=/home/mysql
MYSQL_EXE=${MYSQL_HOME}/01-mysql-server/bin/mysqld
MYSQL_BASE=${MYSQL_HOME}/01-mysql-server
MYSQL_DATA=${MYSQL_HOME}/02-mysql-data
MYSQL_SLOW=${MYSQL_HOME}/03-mysql-log/02-mysql-data.slow.log
MYSQL_ERROR=${MYSQL_HOME}/03-mysql-log/02-mysql-data.err.log
MYSQL_SOCKET=${MYSQL_HOME}/03-mysql-log/02-mysql-data.sock
${MYSQL_EXE} \
--basedir=${MYSQL_BASE} \
--datadir=${MYSQL_DATA} \
--bind-address=0.0.0.0 \
--daemonize=ON \
--innodb_read_io_threads=6 \
--slow_query_log=1 \
--slow_query_log_file=${MYSQL_SLOW} \
--long_query_time=1 \
--character-set-server=utf8 \
--collation-server=utf8_general_ci \
--socket=${MYSQL_SOCKET} \
--log-error=${MYSQL_ERROR} \
--innodb_flush_method=O_DIRECT
vi 12-root-login.sh
MYSQL_HOME=/home/mysql
${MYSQL_HOME}/01-mysql-server/bin/mysql \
--socket=${MYSQL_HOME}/03-mysql-log/02-mysql-data.sock \
-u root \
-p
chmod +x *.sh '赋予脚本可执行权限'
并新建如下两个目录
mkdir 02-mysql-data 03-mysql-log
5.2 初始化数据库
./10-initialize.sh '或者' sh 10-initialize.sh
然后查看临时生成的密码
cat 03-mysql-log/02-mysql-data.err.log
A temporary password is generated for root@localhost: 'ZVuf3vhK06(j'
密码为红色部分的 ZVuf3vhK06(j
5.3 启动数据库主进程
./11-start-mysql.sh '或者' sh 11-start-mysql.sh
执行完毕后就可以登陆MySQL控制台了
6 登陆MySQL控制台,并修改root密码
./12-root-login.sh '或者' sh 12-root-login.sh
输入生成的临时密码,回车
7 修改root用户的初始密码
注意末尾的分号 ';'
set password for user@localhost = password('密码');
例子:
set password for root@localhost = password('password');
8 可能存在问题 -->(解决方法)
在局域网中,可能存在可视化工具不能连接数据库(错误代码为1130)的情况.
个人比较喜欢 '授权法'
grant all privileges on *.* to 'root'@'%' identified by 'password' with grant option;
flush privileges;