此文章是写给入门级小白的,基本上等于傻瓜化安装,照着做即可!
注意:确保Liunx系统中未曾安装过mysql。或者将之前的mysql卸载!
1.系统环境:
1.1 操作系统:CentOS 7.6
1.2 CPU:2核心
1.3 内存:3G
1.4 磁盘空间:200G
1.5 mysql安装目录:/opt/mysql
2. 修改virtualbox虚拟机中,主机hostname(此步骤可忽略)
echo "192.168.x.xxx hostname" >> /etc/hosts
3. 创建mysql需要的目录:
mkdir -p /opt/mysql/app
mkdir -p /opt/mysql/data/3306
mkdir -p /opt/mysql/log/3306
4. 检查已经安装的mariadb
rpm -qa|grep mariadb
5. 卸载mariadb
// 注意:需要卸载所有查询到的mariadb
rpm -e --nodeps mariadbxxx
6. 解压安装包
如果你下载的安装包是mysql-5.7.28-linux-glibc2.12-x86_64.tar.gz,直接tar zxvf解压即可。
tar xvf mysql-5.7.28-linux-glibc2.12-x86_64.tar
tar zxvf mysql-5.7.28-linux-glibc2.12-x86_64.tar.gz
7. 将解压后的目录转移至/opt/mysql/app/目录下,并改名为mysql
mv mysql-5.7.28-linux-glibc2.12-x86_64 /opt/mysql/app/
cd /opt/mysql/app
mv mysql-5.7.28-linux-glibc2.12-x86_64 mysql
8. 删除CentOS默认创建的mysql用户,创建新的mysql用户
userdel mysql
groupadd mysql
useradd -r -g mysql -s /bin/false mysql
chown -R mysql:mysql /opt/mysql
9. 编辑mysql的bin环境变量
cd /opt/mysql/app/mysql/bin
vim ~/.bash_profile
PATH=$PATH:/opt/mysql/app/mysql/bin:$HOME/bin
10. 配置mysql参数
vim /opt/mysql/data/3306/my.cnf
10.1 添加以下内容:
[mysql]
default-character-set=utf8
socket=/opt/mysql/data/3306/mysql.sock
[mysqld]
port = 3306
socket=/opt/mysql/data/3306/mysql.sock
basedir=/opt/mysql/app/mysql
datadir=/opt/mysql/data/3306/data
character-set-server=utf8
default-storage-engine=INNODB
innodb_buffer_pool_size = 200M
max_allowed_packet=16M
explicit_defaults_for_timestamp=1
log-output=FILE
general_log = 0
general_log_file=/opt/mysql/log/3306/mysql01-general.err
slow_query_log = ON
slow_query_log_file=/opt/mysql/log/3306/mysql01-query.err
long_query_time=10
log-error=/opt/mysql/log/3306/mysql01-error.err
10.2 创建my.cnf的快捷方式
ln -sf /opt/mysql/data/3306/my.cnf /etc/my.cnf
11. mysql安装初始化
/opt/mysql/app/mysql/bin/mysqld --initialize --user=mysql --basedir=/opt/mysql/app/mysql/ --datadir=/opt/mysql/data/3306/data/
12. 查看日志 记录下初始密码:
这一句记录的就是原始密码:A temporary password is generated for root@localhost: 5:&!Dg/eGoDF
原始密码: 5:&!Dg/eGoDF
cd /opt/mysql/log/3306
cat mysql01-error.err
2020-04-06T05:47:51.826194Z 0 [Warning] InnoDB: New log files created, LSN=45790
2020-04-06T05:47:51.936172Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.
2020-04-06T05:47:52.200783Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: 27bcd44b-77ca-11ea-a2bd-080027931e33.
2020-04-06T05:47:52.217304Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.
2020-04-06T05:47:55.136877Z 0 [Warning] CA certificate ca.pem is self signed.
2020-04-06T05:47:55.832265Z 1 [Note] A temporary password is generated for root@localhost: 5:&!Dg/eGoDF
13. 编辑mysqld.service服务
vim /usr/lib/systemd/system/mysqld.service
13.1 添加以下内容:
[Unit]
Description=MySQL Server
Documentation=man:mysqld(8)
Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
After=network.target
After=syslog.target
[Install]
WantedBy=multi-user.target
[Service]
User=mysql
Group=mysql
ExecStart=/opt/mysql/app/mysql/bin/mysqld --defaults-file=/opt/mysql/data/3306/my.cnf
LimitNOFILE = 65536
LimitNPROC = 65536
13.2 给mysqld.service 添加权限
chmode u+x mysqld.service
13.3 设置mysql开机自动启动
systemctl enable mysqld
14. 修改mysql中root用户密码
# 1. 登录
mysql -uroot -p
//password处输入日志中记录的原始密码
14.1修改密码
alter user 'root'@'localhost' identified by '新密码';
14.2 设置远程登录用户信息
mysql -uroot -p
use mysql;
create USER 'root'@'%' IDENTIFIED BY '远程登录用户密码';
grant all privileges on *.* to 'root'@'%' with grant option;
15. 关闭mysql数据库:
systemctl stop mysqld