全部代码,写在后面吧!
全部的代码在后面。
1、安装mysql
ls查看一下,已经出现啦~
xz -d mysql-8.0.13-linux-glibc2.12-x86_64.tar.xz
这个解压不显示过程。
成功! 变成这个名字啦:mysql-8.0.13-linux-glibc2.12-x86_64.tar
tar -xvf mysql-8.0.13-linux-glibc2.12-x86_64.tar
将解压后的文件夹拷贝到/usr/local/并重命名为mysql
mv -f mysql-5.7.10-linux-glibc2.5-x86_64 /usr/local/mysql
2、查看系统是否有libaio包,如果没有无法运行mysql数据库
rpm -qa | grep libaio
libaio-0.3.107-10.el6.x86_64 //表示已经安装
已经存在啦!
3、建立mysql用户和用户组
useradd -s /sbin/nologin -M mysql
4、修改mysql文件夹的属主和属组为mysql
chown -R mysql:mysql mysql
5、初始化数据库,启动mysql/bin目录下的mysqld
8.0版本:
进入bin目录,有启动项的那个!
./mysqld --initialize --user=mysql
注意保存初始化mysql数据库密码:
运行完成后注意最后一句,这是mysql数据库自动生成的root密码,一定要记录下来
6、配置数据库
cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf
或者直接进入/etc/my.cnf进行配置即可!
在实验环境下,按下面的内容配置mysql即可:
vim /etc/my.cnf
要用英文输入法来复制才可以!
# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html
# *** DO NOT EDIT THIS FILE. It's a template which will be copied to the
# *** default location during install, and will be replaced if you
# *** upgrade to a newer version of MySQL.
[mysqld]
# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M
# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin
# These are commonly set, remove the # and set as required.
basedir = /usr/local/mysql
#mysql数据库文件夹所在位置
datadir = /var/lib/mysql
#mysql数据库的数据文件所在位置
# port = .....
# server_id = .....
socket = /var/lib/mysql/mysql.sock
#mysql sock位置
# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M
character-set-server=utf8
#修改mysql服务器默认的字符集
#此句不是必须
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
[client]
socket = /var/lib/mysql/mysql.sock
default-character-set=utf8
#符号开头的没必要复制上去!
所有版本通用:
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
service mysqld start
8、连接测试数据库
cd /usr/local/mysql/bin
./mysql -u root -p
输入密码,成功进入数据库!
修改密码:
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
9、修改环境变量和ld.so.conf
将含有mysql命令的目录添加到环境变量
# vim /etc/profile
PATH=/usr/local/mysql/bin:$PATH
另外一个:
#export PATH
将mysql目录下的lib目录添加到ld.so.conf文件
#vim /etc/ld.so.conf
include /usr/local/mysql/lib/
ldconfig
ldconfig 命令的用途,主要是在默认搜寻目录(/lib和/usr/lib)以及动态库配置文件/etc/ld.so.conf内所列的目录下,搜索出可共享的动态 链接库(格式如前介绍,lib.so),进而创建出动态装入程序(ld.so)所需的连接和缓存文件.缓存文件默认为 /etc/ld.so.cache,此文件保存已排好序的动态链接库名字列表**
从服务器也要安装MySQL,但是主从配置就有区别啦!
主从配置:
mysql主服务器配置:
1、修改my.cnf,添加
[mysqld]
log-bin=mysql-bin
server-id=1
2、重启mysql服务
service mysqld restart
systemctl restart mysqld.service
重启的时候出问题啦,需要安装一个东西!
我写的:https://blog.csdn.net/weixin_42859280/article/details/84574205
3、在mysql数据库中,建立用户同步数据库的账号:
1、mysql主服务器建立用户并赋予权限
要先登录MySQL才可以进行这个操作!
cd /usr/local/mysql/bin
./mysql -u root -p
create user 'repl' identified by '123456';
ALTER USER 'repl'@'%' IDENTIFIED BY '123456';
flush privileges;
GRANT replication slave ON *.* TO 'repl'@'%';
GRANT ALL privileges ON *.* TO 'repl'@'%';
查看用户和远程主机连接设置
select host,user from user;
查看mysql主服务器日志:
show master status
show master status\G
所有版本通用
1、修改my.cnf,添加
[mysqld]
log-bin=mysql-bin
server-id=2
service mysqld restart
systemctl restart mysqld.service
重启的时候出问题啦,需要安装一个东西!
我写的:https://blog.csdn.net/weixin_42859280/article/details/84574205
3、在从服务器设置主服务器,实现主从配置
登录:
cd /usr/local/mysql/bin
./mysql -u root -p
CHANGE MASTER TO MASTER_HOST='192.168.159.136',MASTER_USER='repl',MASTER_PASSWORD='123456',MASTER_LOG_FILE='mysql-bin.000001',MASTER_LOG_POS=960;
4、开启主从
start slave;
show slave status\G;
全部代码:
xz -d mysql-8.0.13-linux-glibc2.12-x86_64.tar.xz
tar -xvf mysql-8.0.13-linux-glibc2.12-x86_64.tar
mv -f mysql-8.0.13-linux-glibc2.12-x86_64 /usr/local/mysql
rpm -qa | grep libaio
useradd -s /sbin/nologin -M mysql
cd /usr/local
ls -al
chown -R mysql:mysql mysql
ls -al
cd mysql/bin/
./mysqld --initialize --user=mysql
(记得记下密码!)
直接配置 /etc/my.cnf文件。
vim /etc/my.cnf
复制以下内容:
[mysqld]
basedir = /usr/local/mysql
datadir = /var/lib/mysql
socket = /var/lib/mysql/mysql.sock
character-set-server=utf8
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
[client]
socket = /var/lib/mysql/mysql.sock
default-character-set=utf8
启动数据库:
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
service mysqld start
登录数据库:
cd /usr/local/mysql/bin
./mysql -u root -p
root@localhost: O=y#lQf1kAYJ 比如这个密码,要紧贴着O的左边进行复制。这样才可以!
修改密码:
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
#vim /etc/profile
PATH=/usr/local/mysql/bin:$PATH
#export PATH
#vim /etc/ld.so.conf
include /usr/local/mysql/lib/
#ldconfig
接下来就是主从配置啦!
主:
关掉防火墙!
修改my.cnf,添加
[mysqld]
log-bin=mysql-bin
server-id=1
service mysqld restart
systemctl restart mysqld.service
重启的时候出问题啦,需要安装一个东西!
我写的:https://blog.csdn.net/weixin_42859280/article/details/84574205
登录:
cd /usr/local/mysql/bin
./mysql -u root -p
五条语句:
create user 'repl' identified by '123456';
ALTER USER 'repl'@'%' IDENTIFIED BY '123456';
flush privileges;
GRANT replication slave ON *.* TO 'repl'@'%';
GRANT ALL privileges ON *.* TO 'repl'@'%';
show databases;
use mysql;
show tables;
select host,user from user;
show master status\G;
从:
关掉防火墙!
修改my.cnf,添加
[mysqld]
log-bin=mysql-bin
server-id=2
service mysqld restart
systemctl restart mysqld.service
重启的时候出问题啦,需要安装一个东西!
我写的:
https://blog.csdn.net/weixin_42859280/article/details/84574205
登录:
cd /usr/local/mysql/bin
./mysql -u root -p
CHANGE MASTER TO MASTER_HOST='192.168.159.136',MASTER_USER='repl',MASTER_PASSWORD='123456',MASTER_LOG_FILE='mysql-bin.000001',MASTER_LOG_POS=1373;
开启主从
start slave;
show slave status\G;
测试同步:
主:
创建数据库:
create database www;
use www;
create table info(num int);
show tables;
insert into info values(666);
select * from info;
从:
use www;
show tables;
select * from info;