参考文章:
centos7 + mysql5.7 tar包解压安装 - 潇湘客2 - 博客园
linux下MySQL数据库安装初始化_制心入境-CSDN博客_linux初始化mysql数据库
1、cd /usr/local/
#进入local目录
2、cp /home/soft/MySQL-5.7.15-Linux-glibc2.5-x86_64.tar.gz /usr/local/
#拷贝mysql压缩到local目录
3、cd /usr/local/ ##进入local目录
4、tar -xzvf mysql-5.7.15-linux-glibc2.5-x86_64.tar.gz
#解压mysql压缩包
5、mv mysql-5.7.15-linux-glibc2.5-x86_64 mysql ##重命名mysql目录
6、groupadd mysql ##添加一个mysql组
7、useradd -r -g mysql mysql ##添加一个用户
8、#把mysql目录添加到mysql用户和mysql组,并给执行权限
chown -R mysql:mysql mysql/
chmod -R 755 mysql/
9、mkdir /usr/local/mysql/data ##创建mysql-data目录
10、chown -R mysql:mysql /usr/local/mysql/data
#把mysql-data目录授权给mysql组中的mysql用户
11、chgrp -R mysql /usr/local/mysql/data
#chgrp命令可采用群组名称或群组识别码的方式改变文件或目录的所属群组。(-R:处理指定目录以及其子目录下的所有文件)使用权限是超级用户。
12、cd /usr/local/mysql ##进入mysql目录
14、vi /etc/my.cnf
#编辑my.cnf文件
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
# 设置mysql的安装目录
basedir=/usr/local/mysql/
# 设置mysql数据库的数据的存放目录
datadir=/usr/local/mysql/data
#skip-grant-tables
socket=/tmp/mysql.sock
user=mysql
symbolic-links=0
lower_case_table_names=1
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
max_allowed_packet=16M
[client]
port=3306
[mysqld_safe]
log-error=/usr/local/mysql/log/mysqld.log
16、vi /etc/profile ##编辑etc目录下的profile文件
export PATH=/usr/local/mysql/bin:$PATH
#在profile文件最后添加
17、source /etc/profile ##重新加载etc目录下的profile文件
18、cp -a ./support-files/mysql.server /etc/init.d/mysqld
#拷贝
创建log文件并授权
mkdir log
touch mysqld.log
chown -R mysql:mysql /usr/local/mysql/log/
chgrp -R mysql /usr/local/mysql/log/
19、./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data 注: 20、[[[password]]]] ##注意记录生成的临时密码,如:GleB(RP14p 21、/etc/init.d/mysqld start ##启动mysql 22、/etc/init.d/mysqld status ##查看mysql状态 23、bin/mysql -u root –p ##登录mysql 在MySQL 5.7 password字段已从mysql.user表中删除,新的字段名是“authenticalion_string”. 选择数据库:use mysql; 更新root的密码:update user set authentication_string=password('root') where user='root' and Host='localhost'; alter user 'root'@'localhost' identified by 'root'; 更新密码 update user set host='%' where user='root'; 外部访问授权 刷新权限:flush privileges; 24、输入临时密码 ##mysql生成的临时密码,如:jgghKqQhZ8*e 25、set password=password('A123456'); ##修改密码 26、grant all privileges on *.* to root@'%' identified by 'A123456'; 27、flush privileges; ## 28、use mysql; ## 29、select host,user from user; ## 30、在任何地方登录mysql:ln -s /var/mysql57/bin/mysql /usr/bin/mysql 31、# netstat -ntlp // 检查端口是否在用 32、# firewall-cmd --zone=public --add-port=3306/tcp --permanent 33、# systemctl status firewalld // 查看防火墙是否在运行 34、# firewall-cmd --reload 35、# systemctl start firewalld // 开启防火墙 36、firewall-cmd --permanent --zone=public --add-port=3306/tcp # 开启3306端口 37、firewall-cmd --reload // 重启防火墙
#初始化
重要:
此处需要注意记录生成的临时密码,如上文:GleB(RP14p
如执行后报错内容为 ./bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file:
No such file or directory
CentOS7.2需要安装libaio,执行以下命令进行安装
[root@localhost mysql]# yum install libaio
安装完成后重新执行初始化命令
或使用修改/etc/my.cnf配置文件跳过使用密码,然后重启mysqld服务
/etc/init.d/mysqld restart
刷新权限:flush privileges;
退出:quit
修改/etc/my.cnf
重启mysql:/etc/init.d/mysqld restart
使用新密码进入mysql
提示需要更新密码: