【数据库】Mysql-5.7.X 最详细部署教程(linux/macos),真的很详细,一篇文章你就会了
1. mysql社区版下载
官网可以下载,但是需要账号,所以我直接在 镜像网站 下载资源
2. mysql上传解压
tar -xvzf mysql-5.7.X-linux-glibc2.12-x86_64.tar.gz
3. 创建用户和目录
3.1 建立用户组
groupadd mysql
3.2 建立用户,并放入到用户组
useradd -r -g mysql mysql
3.3 复制mysql包到安装目录下
本文安装都放在/usr/local目录下,
mv mysql-5.7.23-linux-glibc2.12-x86_64 mysql
mv mysql /usr/local/
3.4 数据库初始化
cd /usr/local/mysql/
mkdir data
cd ..
chown -R mysql:mysql mysql/
cd mysql/
bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
3.5 创建my.cnf文件
vim /etc/my.cnf
[mysql]
default-character-set=utf8
no-auto-rehash
[mysqld]
port=3306
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
socket=/tmp/mysql.sock
lower_case_table_names=1
skip-external-locking
key_buffer_size=16M
max_allowed_packet=1M
table_open_cache=64
sort_buffer_size=512k
net_buffer_length=8k
read_buffer_size=256k
read_rnd_buffer_size=512k
myisam_sort_buffer_size=8M
log-error=/usr/local/mysql/data/mysqld.log
pid-file=/usr/local/mysql/data/mysqld.pid
[mysqld_safe]
log-error=/usr/local/mysql/data/mariadb.log
pid-file=/usr/local/mysql/data//mariadb.pid
[mysqldump]
quick
max_allowed_packet=16M
如果配置主从mysql,则主需要在my.cnf中添加如下配置
enable binary log for master-slave
log-bin=mysql-bin
binlog_format=mixed
server-id=1
innodb-file-per-table=ON
skip_name_resolve=ON
如果配置主从mysql,则从需要在my.cnf中添加如下配置
enable binary log for master-slave
log-bin=mysql-bin
binlog_format=mixed
server-id=2 # 和主不一样即可
innodb-file-per-table=ON
skip_name_resolve=ON
3.6 添加服务和开机启动
添加系统服务
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
vim /etc/init.d/mysqld
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
开机启动
chkconfig --add mysqld
启动mysql
systemctl start mysqld
将host字段的值改为%就表示在任何客户端机器上能以root用户登录到mysql服务器,建议在开发时设为%。
update user set host = ’%’ where user = ’root’;
将权限改为ALL PRIVILEGES
mysql> use mysql;
mysql> grant all privileges on . to root@'%' identified by "password";
mysql> flush privileges;
mysql> select host,user,password from user;
3.7 修改临时密码和刷新权限
cd /usr/local/mysql
bin/mysql -uroot -p
如果出現問題 mysql: error while loading shared libraries: libncurses.so.5: cannot open shared object file: No such file or directory
sudo yum install libncurses*
进入到mysql命令行界面后
set password for root@localhost = password('123456');
ctrl+D推出命令行,然后用新密码重新登录
cd /usr/local/mysql
bin/mysql -uroot -p
alter user 'root'@'localhost' identified by 'root';
flush privileges;
grant replication slave on *.* to 'rep'@'192.168.1.%' identified by '123456';
flush privileges;
3.8 如果配置从,则需要在从服务器中
进入从服务器mysql
mysql -u root -p123456
stop slave; #如果你以前配置过主从的话,一定要先关闭
mysql> CHANGE MASTER TO
-> MASTER_HOST="192.168.1.3",
-> MASTER_USER="slave",
-> MASTER_PASSWORD="123456",
-> MASTER_LOG_FILE="mysql-bin0000006",
-> MASTER_LOG_POS=432;
start slave;
参数解释:
MASTER_HOST : 设置要连接的主服务器的ip地址
MASTER_USER : 设置要连接的主服务器的用户名
MASTER_PASSWORD : 设置要连接的主服务器的密码
MASTER_LOG_FILE : 设置要连接的主服务器的bin日志的日志名称,即第3步得到的信息
MASTER_LOG_POS : 设置要连接的主服务器的bin日志的记录位置,即第3步得到的信息,(这里注意,最后一项不需要加引号。否则配置失败)
希望对正在查看文章的您有所帮助,记得关注、评论、收藏,谢谢您
相关文章
- Linux中数据库的安装和配置(MySQL与Maria DB)
- Linux下C与Mysql的混合编程
- 【MySQL进阶-06】深入理解mysql的内核查询成本计算
- 【mysql问题】解决2003-Can‘t connect to MySQL server on ‘ ‘(10060“Unknown error“)
- MySQL 调优基础(二) Linux内存管理
- Linux下安装MySQL数据库
- mysql只更新日期不更新时分秒,Mysql取30天内每天最大的数据
- lilybbs-faq - linux入门以及百合 Linux 版精华区导读
- 转 【MySQL】常用拼接语句 shell 下执行mysql 命令
- python操作mysql数据库系列-操作MySql数据库(五)
- python操作mysql数据库系列-操作MySql数据库(三)
- idea 社区版连接mysql数据库教程,Cannot connect to “MySQL-5.1.43“. CLIENT_PLUGIN_AUTH is required
- 【系统运维】linux系统下源码包安装Mysql数据库
- Linux下安装mysql
- Linux数据库:MYSQL启用和查看二进制日志
- Linux (centos8)安装 MySQL 8 数据库(图文详细教程)
- Linux内核project导论——linux学习和职业曲线(刚開始学习的人,中级,高级都可參考)
- 定时备份mysql数据库 并删除7天前的备份 (windows linux )
- python封装一个工具类 ,对MySQL数据库增删改查,可多字段动态插入mysql数据库中