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-releasegetconf 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
cd /etc
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

#linux不区分表大小写0区分1不区分
lower_case_table_names=1

赋权并执行初始化数据库,命令:

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
登陆mysqlmysql -uroot -p

更改密码&开启远程访问

更改密码
在linux上登陆mysql,执行更改命令set password for root@localhost = password('123');,123是需要更改的新密码。命令如下:
登陆mysql,命令:mysql -uroot -p,第一次密码为空,直接回车;
更改mysql密码,命令: set password for root@localhost = 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地址、机器名字、域名。也可以用’%'表示从任何地址连接。
‘连接口令’不能为空,否则创建失败

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值