centos7安装MySQL
at 4年前 ca MySQL pv 1753 by touch
准备工作
centos7
安装包 https://dev.mysql.com/downloads/mysql/5.7.html#downloads
安装
1、由于CentOs7之后会在系统中自带一个免费的数据库:mariadb,并且它的驱动和mysql的驱动是有冲突的,所以我们必须先要卸载他:
# 查看系统关于mariadb的服务 $ rpm -qa | grep -i mariadb # 删除关于mariadb的服务 $ yum remove mariadb*
2、由于mysql的server端需要perl语言的支持,因此我们还需要在系统中安装perl支持
$ yum install -y perl
3、需要安装net-tools包:
$ yum install -y net-tools
4、安装MySQL
$ cd /opt $ mkdir mysql # 解压安装包 $ tar -xf mysql-5.7.27-1.el7.x86_64.rpm-bundle.tar -C mysql # 由于我们上面解压出来的几个rpm包有依赖关系,所以我们需要按照顺序执行安装: $ rpm -ivh mysql-community-common-5.7.27-1.el7.x86_64.rpm $ rpm -ivh mysql-community-libs-5.7.27-1.el7.x86_64.rpm $ rpm -ivh mysql-community-client-5.7.27-1.el7.x86_64.rpm $ rpm -ivh mysql-community-server-5.7.27-1.el7.x86_64.rpm
5、修改mysql 的root密码(忘记或不知道密码时也可以这样修改)
5.1、修改为无密码登录
$ vim /etc/my.cnf # 在文件最后添加: skip-grant-tables=1 #重启mysql服务 $ systemctl restart mysqld
5.2、修改密码
$ mysql -u root # 使用命令行连接mysql数据库 mysql> use mysql; # 切换到mysql数据库 # 修改root的密码,密码复杂一点 mysql> update user set authentication_string = password('root@123456'), password_expired = 'N', password_last_changed = now() where user ='root'; mysql> exit; # 退出
5.3、恢复密码登录
删除 5.2 中新增的skip-grant-tables=1
重启服务
5.4、设置root远程连接数据库
$ mysql -u root -p mysql> use mysql; mysql> grant all privileges on *.* to 'root'@'%' identified by 'Root@123456'; # mysql> flush privileges; # 刷新权限 mysql> exit;
6、在防火墙中开启3306端口
$ firewall-cmd --zone=public --add-port=3306/tcp --permanent $ firewall-cmd --reload # 查看开启的端口 $ firewall-cmd --zone=public --list-ports
好了,到此你可以通过视图工具远程连接数据库了?!
7、你可能需要的配置:
mysql5.7的配置文件优化,留着备用,详细参考博客:http://www.mamicode.com/info-detail-2135559.html
####### 慢日志 ####### #开启慢查询日志 slow_query_log=ON # 慢查询日志存放路径 slow_query_log_file=/data/mysql/my3306/slow.log # 超过10秒的查询,记录到慢查询日志,默认值10 long_query_time=10 ####### bin log ####### # 二进制日志存放路径 log_bin=/data/mysql/my3306/binlog # binlog格式,复制有3种模式STATEMENT,ROW,MIXED binlog_format=row # 只保留最近10天的binlog日志 expire_logs_days=10 # 当master和slave之间的网络中断,slave的I/O-Thread等待5秒,重连master slave_net_timeout=5 # slave更新mysql.slave_master_info表的时间间隔 sync_master_info=10000 # slave更新mysql.slave_relay_log_info表的时间间隔 sync_relay_log=10000 sync_relay_log_info=10000 #磁盘写入策略 #如果innodb_flush_log_at_trx_commit设置为0,log buffer将每秒一次地写入log file中,并且log file的flush(刷到磁盘)操作同时进行.该模式下,在事务提交的时候,不会主动触发写入磁盘的操作。 #如果innodb_flush_log_at_trx_commit设置为1,每次事务提交时MySQL都会把log buffer的数据写入log file,并且flush(刷到磁盘)中去. #如果innodb_flush_log_at_trx_commit设置为2,每次事务提交时MySQL都会把log buffer的数据写入log file.但是flush(刷到磁盘)操作并不会同时进行。该模式下,MySQL会每秒执行一次 flush(刷到磁盘)操作。 #注意: # 由于进程调度策略问题,这个“每秒执行一次 flush(刷到磁盘)操作”并不是保证100%的“每秒”。 innodb_flush_log_at_trx_commit=2 sync_binlog=1000 #开启binlog日志同步功能
版权声明
本文仅代表作者观点,不代表码农殇立场。
本文系作者授权码农殇发表,未经许可,不得转载。
已有0条评论