Linux安装配置MySQL

5 篇文章 0 订阅
4 篇文章 0 订阅

MySQL下载

环境信息

  • MySQL : 5.5.17-1.el6.x86_64.rpm
  • Linux : Red Hat Enterprise Linux Server release 6.5 (Santiago)

安装

检查是否已安装
rpm -qa|grep -i mysql

如返回:

mysql-libs-5.1.71-1.el6.x86_64

表示已安装库文件,需先卸载,卸载命令如下:

rpm -e mysql-libs-5.1.71-1.el6.x86_64 --nodeps

注意需添加 –nodeps 参数忽略依赖,否则会出错

配置用户及用户组
groupadd mysql
useradd -r -g mysql mysql
安装服务端软件
rpm -ivh MySQL-server-5.5.17-1.el6.x86_64.rpm

注意切换到root用户
输出如下

Preparing...                ########################################### [100%]
   1:MySQL-server           ########################################### [100%]

PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !
To do so, start the server, then issue the following commands:

/usr/bin/mysqladmin -u root password 'new-password'
/usr/bin/mysqladmin -u root -h TMCT-127.152 password 'new-password'

Alternatively you can run:
/usr/bin/mysql_secure_installation

which will also give you the option of removing the test
databases and anonymous user created by default.  This is
strongly recommended for production servers.

See the manual for more instructions.

Please report any problems with the /usr/bin/mysqlbug script!
启动MySQL服务
service mysql start
查看MySQL是否启动成功
netstat -anp|grep 3306

输出:

tcp   0   0 0.0.0.0:3306    0.0.0.0:*     LISTEN
安装MySQL客户端软件
rpm -ivh MySQL-client-5.5.17-1.el6.x86_64.rpm

配置MySQL

执行mysql_secure_installation
sh /usr/bin/mysql_secure_installation

mysql_secure_installation主要执行配置了如下几件事:

  • 为root用户设置密码
  • 删除匿名账号
  • 取消root用户远程登录
  • 删除test库和对test库的访问权限
  • 刷新授权表使修改生效
登录mysql
mysql -uroot -p -h127.0.0.1

执行mysql_secure_installation后需指定host为127.0.0.1

创建用户及授权
create user 'username'@'%' identified by 'password';
grant all privileges on *.* to 'username'@'%' with grant option;

privileges - 用户的操作权限,如SELECT , INSERT , UPDATE 等

配置双实例

拷贝现有数据库文件
cp -r /var/lib/mysql /var/lib/mysql_3307
给数据库文件赋权限
chown -R mysql.mysql /var/lib/mysql_3307
创建一个新的空数据库
mysql_install_db --datadir=/var/lib/mysql_3307 --user=mysql
创建multi的配置cnf文件
touch /usr/local/my_multi.cnf

内容如下

[mysqld_multi]
mysqld     = /usr/bin/mysqld_safe
mysqladmin = /usr/bin/mysqladmin
user       = root    #用于登陆和关闭此服务
password   = 123456   #同上

[mysqld3307]
socket     = /tmp/mysql_3307.sock
port       = 3307
pid-file   = /var/lib/mysql_3307/3307.pid
datadir    = /var/lib/mysql_3307/
log        = /var/lib/mysql_3307/3307.log
character-set-server    = utf8
user       = mysql
启动你的多实例
mysqld_multi --defaults-extra-file=/usr/local/my_multi.cnf start 3307
检查是否启动成功
netstat -ntlp
登录新实例
mysql -uroot -S /tmp/mysql_3307.sock -p
再次确认
show variables like '%datadir%';

配置主从实例

my_multi.cnf配置
[mysqld_multi]
mysqld     = /usr/bin/mysqld_safe
mysqladmin = /usr/bin/mysqladmin
log        = /opt/log/mysql/mysqld_multi.log


[mysqld3306]
socket     = /tmp/mysql_3306.sock
port       = 3306
pid-file   = /var/lib/mysql/3306.pid
datadir    = /var/lib/mysql/
log        = /var/lib/mysql/3306.log
character-set-server    = utf8
user       = mysql
server-id  = 9306
log-bin    = /var/lib/mysql/binlog
log-bin-index = /var/lib/mysql/binlog.index
binlog-ignore-db="mysql,test"

[mysqld3307]
socket     = /tmp/mysql_3307.sock
port       = 3307
pid-file   = /var/lib/mysql_3307/3307.pid
datadir    = /var/lib/mysql_3307/
log        = /var/lib/mysql_3307/3307.log
character-set-server    = utf8
user       = mysql
server-id  = 9307
relay-log  = /var/lib/mysql_3307/relay_bin
relay-log-index = /var/lib/mysql_3307/relay_bin.index
log_slave_updates = 1
read_only  = 1

master需指定log-bin、log-bin-index
slave需指定relay-log、relay-log-index
文件权限需指定为mysql.mysql
master,slave的service-id不能相同
mysqld组后只能跟数字

启动命令:

mysqld_multi --defaults-extra-file=./my_multi.cnf start
登录主库 创建复制用户
grant replication slave, replication client on *.* to repl@'localhost' identified by 'repl';
flush privileges;
登录主库查看主备日志
show master logs;

结果如下

+---------------+-----------+
| Log_name      | File_size |
+---------------+-----------+
| binlog.000001 |       107 |
+---------------+-----------+
登录从库
reset slave;

change master to master_host='localhost', MASTER_PORT=3306, master_user='repl', master_password='repl', master_log_file='binlog.000001', master_log_pos=107;

start slave; 

master_log_file:master日志文件
master_log_pos:master日志文件开始同步位置

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值