《二》安装Mysql
创建日志目录
修改vi /etc/my.cnf
my.cnf文件配置
查看mysql服务的socket文件位置:find / -name mysql.sock
datadir=/usr/local/mysql/data
socket=/tmp/mysql.sock
启用慢查询日志
slow_query_log = 1
如果查询时间长于“long_query_time”设定的值,那就把此查询查询到“slow_query_log_file”文件中
long_query_time = 1
slow_query_log_file = /home/log/mysqllog/log.log
定义错误日志文件
log_error = /home/log/mysqllog/log.log
relay_log_recovery=0
创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
lower_case_table_names=1
max_allowed_packet=16M
定义二进制日志文件
log-bin=/home/log/mysqllog/mysql-bin
每一次事件提交就使日志同步到磁盘,默认“sync_binlog=0”,表示让系统自己来flush使在内存的日志刷到磁盘,设置为“1”是一种安全的设置,因为当系统crash时你最多丢失一个事件,但相反会增加系统的
IO,即使这样也建议设置成“1”
sync_binlog = 1
二进制日志的格式修改成“row”
binlog_format=row
设置服务器ID号
server-id =61
slave-skip-errors=all
sql_mode config detail:http://tech.it168.com/a2012/0822/1388/000001388401.shtml
sql_mode=”STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION”
[client]
default-character-set=utf8
socket=/tmp/mysql.sock
设置服务器ID(1到232-1),不能重复,用ip最后一段,测试机从200开始,正式机从50,100开始
重点注意,如果是新数据库需要复制其他数据库的数据,server-id不能再用原来的id
参考http://www.cnblogs.com/gomysql/p/5852607.html
server-id = 209
所有日志文件改到日志目录/home/log/mysqllog
mkdir /home/log/mysqllog
mkdir /home/log/mysqllog/mysql-bin
修改mysql日志文件夹权限
cd /home/log/mysqllog
chown -R mysql:mysql ./
创建log.log
vi /home/log/mysqllog/log.log
chown -R mysql:mysql /home/log/mysqllog/log.log
chmod 777 /home
chmod 777 /home/log
chmod 777 /home/log/mysqllog/log.log
chgrp -R mysql /home/log/mysqllog
mysql包导入/usr/local/下
删除/usr/local/mysql/data下的所有东西
chmod -R 777 /usr/local/mysql
会报错确实libaio.so.1包:yum install libaio*
执行:vi /etc/ld.so.conf
添加:/usr/lib
保存后,在命令行终端执行:/sbin/ldconfig -v
(其作用是将文件/etc/ld.so.conf列出的路径下的库文件缓存到/etc/ld.so.cache以供使用,因此当安装完一些库文件,或者修改/etc/ld.so.conf增加了库的新搜索路径,需要运行一下ldconfig,使所有的库文件都被缓存到文件/etc/ld.so.cache中,如果没做,可能会找不到刚安装的库。)
创建mysql服务(mysql_install_db被弃用了):/usr/local/mysql/bin/mysqld –initialize –user=mysql –basedir=/usr/local/mysql –datadir=/usr/local/mysql/data
启动mysql服务:/usr/local/mysql/bin/mysqld_safe –user=mysql –basedir=/usr/local/mysql –datadir=/usr/local/mysql/data &
出错
[root@localhost bin]# ./mysqladmin -uroot -p password
Enter password: //这里输入上面的v:gNXSw5FTkw
New password: //重新输入新密码
Confirm new password: //重新输入新密码
#############################
mysql -uroot -p
在日志中找到初始密码
/home/log/mysqllog/
/usr/local/mysql/data/
##########################################
(可能出现问题,可用如下设置空白密码的方法重置密码)
2.修改MySQL的登录设置:
vi /etc/my.cnf
在[mysqld]的段中加上一句:skip-grant-tables
停止mysqld;
/usr/local/mysql/bin/mysqld_safe stop
(可能有其它的方法,总之停止mysqld的运行就可以了)
查看mysql服务
ps -ef|grep mysql
kill -9 进程(强制关闭)
用以下命令启动MySQL,以不检查权限的方式启动;
/usr/local/mysql/bin/mysqld_safe –skip-grant-tables
然后用空密码方式使用root用户登录 MySQL;
mysql -u root
修改root用户的密码;
5.7版本下的mysql数据库下已经没有password这个字段了,password字段改成了authentication_string
mysql> update mysql.user set authentication_string=PASSWORD(‘Atnsmi.com’) where User=’root’;
mysql> flush privileges;
mysql> quit
##########################################
SET PASSWORD FOR root@localhost= PASSWORD(‘testadmin’);
给指定ip连接数据库权限:GRANT ALL PRIVILEGES ON . TO ‘root’@’172.69.6.163’IDENTIFIED BY ‘testadmin’ WITH GRANT OPTION;
重新设置一次密码:SET PASSWORD = PASSWORD(‘testadmin’);
配置Mysql开机启动服务star
将服务文件拷贝到init.d下,并重命名为mysql
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
赋予可执行权限:chmod +x /etc/init.d/mysqld
添加服务:chkconfig –add mysqld
显示服务列表:chkconfig –list
如果看到mysql的服务,并且3,4,5都是on的话则成功,如果是off,则键入
chkconfig –level 345 mysql on
重启电脑:reboot
验证:netstat -na | grep 3306
配置Mysql开机启动服务end
收回权限:revoke ALL PRIVILEGES ON . from ‘root’@’172.69.6.163’;
flush privileges;
在主服务器上创建拥有复制权限的帐户:
mysql –uroot -p
mysql>GRANT replication slave,replication client ON . TO ‘repuser’@’172.69.1.244’ IDENTIFIED BY ‘repadmin’;
FLUSH PRIVILEGES;
SHOW MASTER STATUS; #记录下当前主服务器所使用的二进制文件及position
防火墙端口配置:
vi /etc/sysconfig/iptables
sudo systemctl start vncserver@:1.service
long_query_time = 1
slow_query_log_file = /home/log/mysqllog/log.log
定义错误日志文件
log_error = /home/log/mysqllog/log.log
relay_log_recovery=0
创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
lower_case_table_names=1
max_allowed_packet=16M
定义二进制日志文件
log-bin=/home/log/mysqllog/mysql-bin
每一次事件提交就使日志同步到磁盘,默认“sync_binlog=0”,表示让系统自己来flush使在内存的日志>刷到磁盘,设置为“1”是一种安全的设置,因为当系统crash时你最多丢失一个事件,但相反会增加系统的
IO,即使这样也建议设置成“1”
sync_binlog = 1
二进制日志的格式修改成“row”
binlog_format=row
设置服务器ID号
server-id =61
slave-skip-errors=all
sql_mode config detail:http://tech.it168.com/a2012/0822/1388/000001388401.shtml
sql_mode=”STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION”
[client]
default-character-set=utf8
socket=/tmp/mysql.sock
设置服务器ID(1到232-1),不能重复,用ip最后一段,测试机从200开始,正式机从50,100开始
重点注意,如果是新数据库需要复制其他数据库的数据,server-id不能再用原来的id
参考http://www.cnblogs.com/gomysql/p/5852607.html
server-id = 209
所有日志文件改到日志目录/home/log/mysqllog
mkdir /home/log/mysqllog
mkdir /home/log/mysqllog/mysql-bin
修改mysql日志文件夹权限
cd /home/log/mysqllog
chown -R mysql:mysql ./
创建log.log
vi /home/log/mysqllog/log.log
chown -R mysql:mysql /home/log/mysqllog/log.log
chmod 777 /home
chmod 777 /home/log
chmod 777 /home/log/mysqllog/log.log
chgrp -R mysql /home/log/mysqllog
mysql包导入/usr/local/下
删除/usr/local/mysql/data下的所有东西
chmod -R 777 /usr/local/mysql
会报错确实libaio.so.1包:yum install libaio*
执行:vi /etc/ld.so.conf
添加:/usr/lib
保存后,在命令行终端执行:/sbin/ldconfig -v
(其作用是将文件/etc/ld.so.conf列出的路径下的库文件缓存到/etc/ld.so.cache以供使用,因此当安装完一些库文件,或者修改/etc/ld.so.conf增加了库的新搜索路径,需要运行一下ldconfig,使所有的库文件都被缓存到文件/etc/ld.so.cache中,如果没做,可能会找不到刚安装的库。)
创建mysql服务(mysql_install_db被弃用了):/usr/local/mysql/bin/mysqld –initialize –user=mysql –basedir=/usr/local/mysql –datadir=/usr/local/mysql/data
启动mysql服务:/usr/local/mysql/bin/mysqld_safe –user=mysql –basedir=/usr/local/mysql –datadir=/usr/local/mysql/data &
出错
[root@localhost bin]# ./mysqladmin -uroot -p password
Enter password: //这里输入上面的v:gNXSw5FTkw
New password: //重新输入新密码
Confirm new password: //重新输入新密码
#############################
mysql -uroot -p
在日志中找到初始密码
/home/log/mysqllog/
/usr/local/mysql/data/
##########################################
(可能出现问题,可用如下设置空白密码的方法重置密码)
2.修改MySQL的登录设置:
vi /etc/my.cnf
在[mysqld]的段中加上一句:skip-grant-tables
停止mysqld;
/usr/local/mysql/bin/mysqld_safe stop
(可能有其它的方法,总之停止mysqld的运行就可以了)
查看mysql服务
ps -ef|grep mysql
kill -9 进程(强制关闭)
用以下命令启动MySQL,以不检查权限的方式启动;
/usr/local/mysql/bin/mysqld_safe –skip-grant-tables
然后用空密码方式使用root用户登录 MySQL;
mysql -u root
修改root用户的密码;
5.7版本下的mysql数据库下已经没有password这个字段了,password字段改成了authentication_string
mysql> update mysql.user set authentication_string=PASSWORD(‘Atnsmi.com’) where User=’root’;
mysql> flush privileges;
mysql> quit
##########################################
SET PASSWORD FOR root@localhost= PASSWORD(‘testadmin’);
给指定ip连接数据库权限:GRANT ALL PRIVILEGES ON . TO ‘root’@’172.69.6.163’IDENTIFIED BY ‘testadmin’ WITH GRANT OPTION;
重新设置一次密码:SET PASSWORD = PASSWORD(‘testadmin’);
配置Mysql开机启动服务star
将服务文件拷贝到init.d下,并重命名为mysql
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
赋予可执行权限:chmod +x /etc/init.d/mysqld
添加服务:chkconfig –add mysqld
显示服务列表:chkconfig –list
如果看到mysql的服务,并且3,4,5都是on的话则成功,如果是off,则键入
chkconfig –level 345 mysql on
重启电脑:reboot
验证:netstat -na | grep 3306
配置Mysql开机启动服务end
收回权限:revoke ALL PRIVILEGES ON . from ‘root’@’172.69.6.163’;
flush privileges;
在主服务器上创建拥有复制权限的帐户:
mysql –uroot -p
mysql>GRANT replication slave,replication client ON . TO ‘repuser’@’172.69.1.244’ IDENTIFIED BY ‘repadmin’;
FLUSH PRIVILEGES;
SHOW MASTER STATUS; #记录下当前主服务器所使用的二进制文件及position
防火墙端口配置:
vi /etc/sysconfig/iptables
sudo systemctl start vncserver@:1.service