使用的是阿里云提供的CentOS7.3版本,安装的是mysql5.6.40版本。此次安装采用解压压缩包并配置的方式。

1. 卸载自带的Mariadb

Centos7将默认数据库mysql替换成了Mariadb,由于由于mysql使用的是/etc/my.cnf作为配置,而Mariadb使用的也是 /etc/my.cnf,所以为避免冲突或者其他的干扰,我们首先需要卸载Mariadb。

rpm -qa|grep mariadb   # 查询出来已安装的mariadb
rpm -e --nodeps 文件名 # 卸载mariadb,文件名为上述命令查询出来的文件
rm /etc/my.cnf # 删除配置文件,一般情况下卸载之后即删除,这里为保险,再次删除一下

2. 解压mysql压缩包

压缩包已下载并移动到安装目录

解压

tar -zxvf mysql-5.6.40-linux-glibc2.12-x86_64.tar.gz 
mv mysql-5.6.40-linux-glibc2.12-x86_64/ mysql-5.6.40   #重命名

3. 创建mysql用户组

groupadd mysql     #创建mysql用户组
useradd -g mysql mysql #创建一个用户名为mysql的用户并加入mysql用户组

4. 增加配置文件

可将/usr/local/mysql/support-files/下的my-default.cnf文件到/etc下,重命名为my.cnf,再进行修改,我这里直接在/etc下新建配置文件my.cnf,并对其进行编辑

/etc/my.cnf

[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
socket=/var/lib/mysql/mysql.sock [mysqld]
skip-name-resolve
#设置3306端口
port = 3306
socket=/var/lib/mysql/mysql.sock
# 设置mysql的安装目录
basedir=/usr/java/mysql/mysql-5.6.40
# 设置mysql数据库的数据的存放目录
datadir=/usr/java/mysql/mysql-5.6.40/data
#错误日志
log-error = /usr/java/mysql/mysql-5.6.40/data/error.log
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集,修改为utf8
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
lower_case_table_name=1
max_allowed_packet=16M

需要注意的是配置文件中【socket=/var/lib/mysql/mysql.sock】,Mysql客户端和服务器端是通过初始化mysql.sock 文件来进行通信,这个文件夹需要手动创建

mkdir /var/lib/mysql   #创建通信文件夹,用于存放mysql.socket文件
chmod -R 777 /var/lib/mysql #授权该文件夹,可以向其写入文件

5. 安装

进入到mysql安装目录,将该目录的用户及组修改为mysql,执行安装

cd /usr/java/mysql/mysql-5.6.40   #进入安装目录
yum -y install autoconf #安装需要的库
yum -y install libaio #安装需要的库
chown -R mysql:mysql ./ #修改当前目录拥有者为mysql用户
./scripts/mysql_install_db --user=mysql --basedir=/usr/java/mysql/mysql-5.6.40/ --datadir=/usr/java/mysql/mysql-5.6.40/data/ #安装数据库
chmod -R 777 /usr/java/mysql/mysql-5.6.40/data #数据文件夹授权,允许其向内读写数据

执行安装数据库的时候可能会提示还缺少依赖库,可根据提示进行安装完依赖库,再安装数据库

6. 配置数据库

chmod 644 /etc/my.cnf  #授权给配置文件
cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld #复制启动脚本到资源目录
chmod +x /etc/rc.d/init.d/mysqld #增加mysqld服务控制脚本执行权限
chkconfig --add mysqld #将mysqld服务加入到系统服务
chkconfig --list mysqld #检查mysqld服务是否已经生效

显示如下即表明mysqld服务已经生效,在2、3、4、5运行级别随系统启动而自动启动,以后可以使用service命令控制mysql的启动和停止

service mysqld start  #启动mysql服务
service mysqld stop #终止mysql服务

将mysql的bin目录加入PATH环境变量

执行【vim /etc/profile】(对所有用户生效)或者【vim ~/.bash_profile】(仅对当前登录用户生效),追加配置

export PATH=$PATH:/usr/java/mysql/mysql-5.6.40/bin

保存后使其立即生效

source /etc/profile
source ~/.bash_profile

7. 用户及密码配置

以root用户登录,默认没有密码

mysql -uroot -p

设置密码

mysql>use mysql;
mysql>update user set password=password('') where user='root' and host='localhost';
mysql>flush privileges;

默认只允许root帐户在本地登录,如果要在其它机器上连接mysql,必须修改root允许远程连接,或者添加一个允许远程连接的帐户,为了安全起见,这里添加一个新的帐户

GRANT ALL PRIVILEGES ON *.* TO 'guest'@'%' IDENTIFIED BY '' WITH GRANT OPTION;

开放3306端口,进行本地及远程连接成功。

CentOS安装Mysql5.6并配置远程连接的更多相关文章

  1. VMware虚拟机里centos7下安装mysql5.6并授权远程连接Navicat

    这节来安装Mysql5.6,并远程授权连接本地windows的Navicat,可以根据以下步骤安装.此文章为自己收藏,必要时拿出来直接用的,有需要的友友可以查看查看的.文章图片有借助于网络的. 1.新 ...

  2. Linux yum安装MySQL5.7,及远程连接mysql(亲测有效!)

    一.安装配置MySQL的yum源 # 安装MySQL的yum源,下面是RHEL6系列的下载地址 rpm -Uvh http://dev.mysql.com/get/mysql-community-re ...

  3. CentOS7.2安装MySql5.7并开启远程连接授权

    1.安装mysql5.7 CentOS 7之后的版本yum的默认源中使用MariaDB替代原先MySQL,因此安装方式较为以往有一些改变: 下载mysql的源 wget http://dev.mysq ...

  4. [日常] CentOS安装最新版redis设置远程连接密码

    wget http://download.redis.io/releases/redis-4.0.8.tar.gztar -zxvf redis-4.0.8.tar.gzmake完成后就会放在了src ...

  5. ubuntu 14.04 安装mysql,并配置远程连接和中文乱码

    1. 安装MySQL的jar root@computer-PowerEdge-T30:~# sudo apt-get install mysql-server mysql-client在本次安装中,根 ...

  6. centos7安装mysql5.7.19及配置远程连接

    centos7安装mysql5.7.19及配置远程连接------https://blog.csdn.net/Lh19931122/article/details/77996213

  7. Linux安装MySql5.7及配置(yum安装)

    Linux安装MySql5.7及配置(yum安装) [root@xld ~]# rpm -q centos-release centos-release-7-7.1908.0.el7.centos.x ...

  8. 安装好mysql后允许远程连接

    安装好mysql后允许远程连接 http://blog.sina.com.cn/s/blog_3eba8f1c0100tsox.html http://blog.csdn.net/zxyvb/arti ...

  9. win8安装mysql5.5最后配置没有反应

    win8安装mysql5.5最后配置没有反应 win8下安装mysql5.5一路顺利,可是到最后一步配置mysql服务及登录password后.注冊服务并启动服务界面一直没有不论什么反应: 本来以为是 ...

随机推荐

  1. scrapy框架系列 (5) Spider类

    Spider Spider类定义了如何爬取某个(或某些)网站.包括了爬取的动作(例如:是否跟进链接)以及如何从网页的内容中提取结构化数据(爬取item). 换句话说,Spider就是您定义爬取的动作及 ...

  2. 用JQuery 判断某个属性是否存在hasAttr的解决方法

    在jquery编码中,我们会判断元素是否存在某个属性.比如是否包含 class="new" 的样式呢.JQuery判断就非常简单了,因为有 hasClass这个方法 $(" ...

  3. 在Android上山寨了一个Ios9的LivePhotos,放Github上了

    9月10号的凌晨上演了一场IT界的春晚,相信很多果粉(恩,如果你指坚果,那我也没办法了,是在下输了)都熬夜看了吧,看完打算去医院割肾了吧.在发布会上发布了游戏机 Apple TV,更大的砧板 Ipad ...

  4. tf.concat, tf.stack和tf.unstack的用法

    tf.concat, tf.stack和tf.unstack的用法 tf.concat相当于numpy中的np.concatenate函数,用于将两个张量在某一个维度(axis)合并起来,例如: a ...

  5. wifidog 源码初分析(3)-转

    上一篇分析了 接入设备 在接入路由器,并发起首次 HTTP/80 请求到路由器上时,wifidog 是如何将此 HTTP 请求重定向至 auth-server 的流程. 之后 接入设备 的浏览器接收到 ...

  6. “图片+标签”的社交玩法已经被验证?nice 宣布获得新一轮3600万美元融资【转载+整理】

    原文地址 有次上班做公交,期间听到一个老太太说:"我加你微信啊--",还有一次去看老中医,并交换了电话,可当我回去后发现这个大夫竟然加了我微信--这些都令我有点吃惊,连60.70岁 ...

  7. Android 从 Android 本地图库选择多个图片

    原文地址 本文说明如何从 Android 本地图库选择多个图片.作者考虑很多解决方案. 演示从 Android 本地图库选择多个图片,有两个方法可以实现从图库中选择多个图片: 用 Intent 获取多 ...

  8. WinRAR如何批量分别压缩不同的文件夹

    全选所有文件夹,然后右击添加到压缩文件,然后在文件选项中勾选把每个文件放到单独的压缩文件中   OK了  

  9. SuperMap iDesktop之导入数据

    SuperMap作为一个平台软件有自己的数据格式,现要将ESRI的SHP数据导入到SuperMap的udb数据库中,可以完成导入,但也不得不说几点问题. 下面是ArcGIS中批量导入SHP的操作界面. ...

  10. 解决Android Studio提示gradle project sync failed报错的解决方法

    运行的时候报错,提示:gradle project sync failed 1.打开AS,切换到project目录结构依次进入目录app->gradle->gradle-wrapper.p ...