centos下安装mysql5.6
centos下安装mysql5.6
MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。
1 查看是否安装mysql
安装mysql之前,需要查看是否安装了mysql,如果安装则进行卸载,命令:
rpm -qa | grep mysql
卸载命令:
rpm -e --nodeps mysql-*
查看是否安装mariadb数据库,如果存在,则卸载,命令:
rpm -qa | grep mariadb
rpm -e --nodeps mariadb-libs-5.5.35-3.el7.x86_64
2 下载与系统对应版本的mysql
结合命令cat /etc/system-release
和getconf LONG_BIT
查看需要下载的mysql包,命令分别表示系统发行版本和位数。
下载地址:点击访问mysql5.6官方下载地址
本文以mysql-5.6.44-linux-glibc2.12-x86_64.tar.gz
为例。
3 解压并安装
把下载的文件放到/opt/soft/
下并进行解压,然后把解压后的文件重命名为mysql
,移动到/usr/local
下,命令:
cd /opt/soft
tar -zxvf mysql-5.6.44-linux-glibc2.12-x86_64.tar.gz
mv mysql-5.6.44-linux-glibc2.12-x86_64 mysql
mv mysql /usr/local/
创建mysql用户组及用户,命令:
groupadd mysql
useradd -r -g mysql mysql
复制配置文件并编辑,把mysql下的配置文件覆盖到/etc/my.cnf
,并编辑/etc/my.cnf
命令:
cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf
vi my.cnf
配置内容如下,可根据需要增加其他配置
[mysqld]
#设置3306端口
port = 3306
# 设置mysql的安装目录 根据实际目录进行配置
basedir=/usr/local/mysql
# 设置mysql数据库的数据的存放目录 根据实际目录进行配置
datadir=/usr/local/mysql/data
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
max_allowed_packet=16M
赋权并执行初始化数据库,命令:
chown -R mysql.mysql /usr/local/mysql
/usr/local/mysql/scripts/mysql_install_db --verbose --user=mysql --defaults-file=/etc/my.cnf --datadir=/usr/local/mysql/data --basedir=/usr/local/mysql
如果初始化数据库失败,提示:
FATAL ERROR: please install the following Perl modules before executing ./mysql_install_db:
Data::Dumper
需要安装使用yum -y install autoconf
命令安装autoconf库,此包安装时会安装Data:Dumper模块。安装完成后再次执行命令:
/usr/local/mysql/scripts/mysql_install_db --verbose --user=mysql --defaults-file=/etc/my.cnf --datadir=/usr/local/mysql/data --basedir=/usr/local/mysql
测试启动:
/usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/my.cnf --socket=/tmp/mysql.sock --user=mysql &
查看端口是否启动:
lsof -i:3306
4 注册服务
设置开机启动:
复制启动脚本到资源目录
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
cp /usr/local/mysql/support-files/mysql.server /etc/rc.d/init.d/mysql
增加 mysqld 服务控制脚本执行权限
chmod +x /etc/rc.d/init.d/mysqld
将 mysqld 服务加入到系统服务
chkconfig --add mysqld
5 配置环境变量
把/usr/local/mysql/bin
加入到环境变量中,使用source /etc/profile
使其生效。
6 停用启用
启动 | service mysqld start |
停用 | service mysqld stop |
查看状态 | service mysql status |
登陆mysql | mysql -uroot -p |
更改密码&开启远程访问
更改密码
在linux上登陆mysql,执行更改命令set password for [email protected] = password('123');
,123是需要更改的新密码。命令如下:
登陆mysql,命令:mysql -uroot -p
,第一次密码为空,直接回车;
更改mysql密码,命令: set password for [email protected] = password('123456');
;
退出mysql,重新登陆,命令:exit;
开启远程访问一
在linux上登陆mysql,登陆成功后,执行命令:
use mysql;
update user set host = '%' where user = 'root' and host ='localhost';
flush privileges;
开放防火墙3306端口。需要注意的是,不建议对root账户进行开启远程访问权限
开启远程访问二
常用解决方案:
创建用户并赋予对应数据库权限,对创建用户开启远程访问权限:
登录MySQL,use mysql库,使用grant all privileges on
来更改用户对应某些库的远程权限:
use mysql;
grant all privileges on 库名.表名 to '用户名'@'IP地址' identified by '密码' with grant option;
flush privileges;
参数 | 参数说明 | 示例 |
---|---|---|
库名 | 要远程访问的数据库名称,所有的数据库使用“*” | test |
表名 | 要远程访问的数据库下的表的名称,所有的表使用“*” | student |
用户名 | 要赋给远程访问权限的用户名称 | root |
IP地址 | 可以远程访问的电脑的IP地址,所有的地址使用“%” | % |
密码 | 要赋给远程访问权限的用户对应使用的密码 | 123456 |
扩展:
grant 权限1,权限2,…权限n on 数据库名称.表名称 to 用户名@用户地址 identified by ‘连接口令’;
权限1,权限2,…权限n代表select,insert,update,delete,create,drop,index,alter,grant,references,reload,shutdown,process,file等14个权限。
当权限1,权限2,…权限n被all privileges或者all代替,表示赋予用户全部权限。
当数据库名称.表名称被*.*代替,表示赋予用户操作服务器上所有数据库所有表的权限。
用户地址可以是localhost,也可以是ip地址、机器名字、域名。也可以用’%'表示从任何地址连接。
‘连接口令’不能为空,否则创建失败
上一篇: Echarts 调整x轴
下一篇: echarts自定义X轴,x轴数据转换
推荐阅读
-
linux下mysql的安装步骤
-
Centos7安装和配置Mysql5.7
-
windows10下安装TensorFlow Object Detection API的步骤
-
VMware Workstation 11 虚拟机安装Centos 6.6系统图文教程
-
Windows10下mysql 5.7.17 安装配置方法图文教程
-
CentOS7.0下安装PHP5.6.30服务的教程详解
-
Linux下 php7安装redis的方法
-
centos7上编译安装php7以php-fpm方式连接apache
-
centos 6下安装innodb_ruby
-
MySQL5.6 数据库主从同步安装与配置详解(Master/Slave)