Linux-MySQL安装文档

一、MYSQL安装配置

1. 解压tar包

1. tar -zxvf mysql压缩包名.ar.gz  --更改对应的包名mysql*.tar.gz
2. mv 原文件夹名 新文件夹名  --更改对应的安装目录/usr/local/mysql

2. 添加用户与组

1. 查看用户:cat /etc/passwd
2. 查看组: cat /etc/group
3. groupadd  组名
4. groupadd mysql
5. groupadd  -r -g 组名 用户名
6. useradd -r -g mysql mysql
7. mkdir /home/mysql
8. chown mysql:mysql /home/mysql
9. chmod 700 /home/mysql
10. su mysql
11. cd /etc/skel/
12. ls -a
13. cp * /home/mysql

3. 改变文件及文件夹的用户和用户组

1. chown -R 用户名 文件名及文件夹名
2. chgrp -R 组名 文件名及文件夹名
3. chown -R mysql .
4. chgrp -R mysql .

4. 修改文件

4.1. 修改/support-files/mysql.server


4.2. 修改/support-files/mysql-log-rotate

4.3. 修改/support-files/mysqld_multi.server

4.4 修改/scripts/mysql_install_db

5. 初始化数据库

1. scripts/mysql_install_db --user=用户名
2. scripts/mysql_install_db --user=mysql

3. bin/mysqld --initialize-insecure  --user=mysql --explicit_defaults_for_timestamp=true(5.7版本)

3. 记得创建以下文件夹:
    [mysql@master mysql-5.7.32]$ mkdir -p logs/slow
    [mysql@master mysql-5.7.32]$ mkdir -p binary

6. 改变文件及文件夹的用户和用户组

1. chown -R 用户名 文件名及文件夹名
2. chgrp -R 用户名 文件名及文件夹名
3. chown -R root .
4. chown -R mysql data

7. 拷贝文件

# 拷贝文件
cp /data/software/mysql/mysql-5.7.32/support-files/mysql.server /data/software/mysql/mysql-5.7.32/mysql.sh
# 建立软连接
sudo ln -s /data/software/mysql/mysql-5.7.32/mysql.sh /etc/init.d/mysql
# 权限
chmod 744 /etc/init.d/mysql
# 用户和组
sudo chown -R mysql:mysql /etc/init.d/mysql
# 添加服务
sudo chkconfig --add mysql
# 开机启动
sudo chkconfig mysql on

9. 添加自启动服务

1. chkconfig --add mysql
2. chkconfig mysql on

10. MYSQL服务操作

1. 启动mysql : service mysql start
2. 停止msyql : service mysql stop
3. 重启 : service mysql restart

11. 为mysql数据库的root用户设置密码

mysql数据库安装完以后只会有一个root管理员账号,但是此时的root账号还并没有为其设置密码,在第一次启动mysql服务时,
会进行数据库的一些初始化工作,在输出的一大串信息中,
1. 修改数据库密码
    mysql --socket=/data/software/mysql/mysql-5.7.32/mysql.sock

2. 配置数据库root用户外网权限
mysql> INSERT INTO mysql.user(Host, User, Password, Select_priv, Insert_priv, Update_priv, Delete_priv, Create_priv, Drop_priv, Reload_priv, Shutdown_priv, Process_priv, File_priv, Grant_priv, References_priv, Index_priv, Alter_priv, Show_db_priv, Super_priv, Create_tmp_table_priv, Lock_tables_priv, Execute_priv, Repl_slave_priv, Repl_client_priv, Create_view_priv, Show_view_priv, Create_routine_priv, Alter_routine_priv, Create_user_priv, Event_priv, Trigger_priv, Create_tablespace_priv, ssl_type, ssl_cipher, x509_issuer, x509_subject, max_questions, max_updates, max_connections, max_user_connections, plugin, authentication_string, password_expired) VALUES ('%', 'root', '*1FEDE52E2CF9364B5AE379C52B2BD248453CC78E', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', '', '', '', '', 0, 0, 0, 0, 'mysql_native_password', '', 'N');
mysql> flush privileges;

12. 数据库文件迁移

1. 停掉mysql服务
2. 拷贝需要的库文件夹到指定目录
3. ibdata1必须拷贝
4. 重启mysql服务

13. 创建用户并授权

1. 创建用户
    create user 用户名 identified by '明文密码';
    user表会插入一条数据
2. 授予权限
    grant all on 库名.表名 to '用户名'@'%';
    库名.*为库的所有表
    db表会插入一条数据
3. 权限生效
    flush privileges;

14. 查看数据库进程

show processlist;

二、MYSQL主从

1. 主数据库配置

1. [mysqld]模块下配置
#开启log-bin
server-id=1
log-bin=/data/software/mysql/mysql-5.7.32/binary/log-bin
binlog_format=row
#事务特性,最好设为1
sync_binlog=1
#作为从服务器时的中继日志
relay_log=school-relay-bin
log-slave-updates=1

2. 创建从数据库登陆用户
# 创建复制用户并授权
grant replication client, replication slave, super, reload  ON *.* TO '用户名'@'从库IP' identified by '明文密码';
# 生效用户和权限
flush privileges;
3. 查看主数据库二进制文件名与位置

SHOW MASTER STATUS\G;

2. 从数据库配置

1. [mysqld]模块下配置
    #开启log-bin
    server-id=2
    log-bin=/data/software/mysql/mysql-5.7.32/binary/log-bin
    binlog_format=row
    #事务特性,最好设为1
    sync_binlog=1
    #作为从服务器时的中继日志
    relay_log=school-relay-bin
    log-slave-updates=1

2. 主库复制配置
CHANGE MASTER TO MASTER_HOST = '主库IP',
MASTER_PORT = 主库端口,
MASTER_USER = '用户名',
MASTER_PASSWORD = '明文密码',
MASTER_LOG_FILE = 'log-bin.000004',
MASTER_LOG_POS = 316853;
3. 启动和停止从库复制
    start slave;
    stop slave;
4. 查看从库复制状态
    show slave status\G;
    Slave_IO_Running和Slave_SQL_Running需要为yes

5. 修改从库为只读
SHOW GLOBAL VARIABLES LIKE '%read_only%'
set global read_only=1;
set global super_read_only=1;

6. 创建从库写用户
create user 用户名 identified by '密码';
grant select on *.* to '用户名'@'%';
flush privileges;

三、配置参数

四、问题解决

1. show processlist; => unauthenticated user

1. [mysqld]模块:
    skip-name-resolve
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值