centos7怎样安装mysql服务器

 我来答
程序NM的猿
2018-01-25 · TA获得超过103个赞
知道小有建树答主
回答量:202
采纳率:83%
帮助的人:84.5万
展开全部

本人博客供参考

网页链接

下载mysql源安装包shell> wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm 
安装mysql源shell> yum localinstall mysql57-community-release-el7-8.noarch.rpm 
检查mysql源是否安装成功 
yum repolist enabled | grep “mysql.-community.” 
 
安装MySQL 
yum install mysql-community-server 
启动MySQL服务 
shell> systemctl start mysqld 
查看MySQL的启动状态 
shell> systemctl status mysqld 
开机启动 
shell> systemctl enable mysqld 
shell> systemctl daemon-reload 
修改root本地登录密码 
mysql安装完成之后,在/var/log/mysqld.log文件中给root生成了一个默认密码。通过下面的方式找到root默认密码,然后登录mysql进行修改: 
shell> grep ‘temporary password’ /var/log/mysqld.log 
 
shell> mysql -uroot -p 
mysql> ALTER USER ‘root’@’localhost’ IDENTIFIED BY ‘MyNewPass4!’; 
或者: 
mysql> set password for ‘root’@’localhost’=password(‘MyNewPass4!’); 
注意:mysql5.7默认安装了密码安全检查插件(validate_password),默认密码检查策略要求密码必须包含:大小写字母、数字和特殊符号,并且长度不能少于8位。否则会提示ERROR 1819 (HY000): Your password does not satisfy the current policy requirements错误 
添加远程登录用户 
默认只允许root帐户在本地登录,如果要在其它机器上连接mysql,必须修改root允许远程连接,或者添加一个允许远程连接的帐户,为了安全起见,我添加一个新的帐户: 
mysql> GRANT ALL PRIVILEGES ON . TO ‘yangxin’@’%’ IDENTIFIED BY ‘Yangxin0917!’ WITH GRANT OPTION;

以上部分个人实践过,以下内容待实践

数据库存emoji 表情问题

mysql> SHOW VARIABLES WHERE Variable_name LIKE ‘character_set_%’ OR Variable_name LIKE ‘collation%’; 
+————————–+——————-+ 
| Variable_name | Value | 
+————————–+——————-+ 
| character_set_client | utf8 | 
| character_set_connection | utf8 | 
| character_set_database | latin1 | 
| character_set_filesystem | binary | 
| character_set_results | utf8 | 
| character_set_server | latin1 | 
| character_set_system | utf8 | 
| collation_connection | utf8_general_ci | 
| collation_database | latin1_swedish_ci | 
| collation_server | latin1_swedish_ci | 
+————————–+——————-+ 
10 rows in set (0.02 sec) 
可以看到我的mysql版本是5.7的,utf8mb4有一个使用限制,mysql版本必须是5.5以上,大家需要注意,我目前用的ubuntu系统是16.04的。当前mysql的字符集配置如上表,我们的目的是更改成utf8mb4。 
3.找到mysql的配置文件,可用命令 
sudo find / -name my.cnf 
我的配置文件位置如下,个别的位置有所不同 
/etc/mysql/mysql.conf.d/mysqld.cnf

4.修改配置文件 
在原文中添加以下内容: 
[client] 
default-character-set = utf8mb4 
[mysql] 
default-character-set = utf8mb4 
[mysqld] 
character-set-client-handshake = FALSE 
character-set-server = utf8mb4 
collation-server = utf8mb4_unicode_ci 
init_connect=’SET NAMES utf8mb4’ 
原文件中无“[client]”和“[mysql]”,需要手动添加上。 
……

Here is entries for some specific programs

The following values assume you have at least 32M ram

[client] 
default-character-set = utf8mb4 
[mysql] 
default-character-set = utf8mb4 
[mysqld_safe] 
socket = /var/run/mysqld/mysqld.sock 
nice = 0 
[mysqld] 
#

* Basic Settings


user = mysql 
pid-file = /var/run/mysqld/mysqld.pid 
socket = /var/run/mysqld/mysqld.sock 
port = 3306 
basedir = /usr 
datadir = /var/lib/mysql 
tmpdir = /tmp 
lc-messages-dir = /usr/share/mysql 
skip-external-locking 
character-set-client-handshake = FALSE 
character-set-server = utf8mb4 
collation-server = utf8mb4_unicode_ci 
init_connect=’SET NAMES utf8mb4’ 
#

Instead of skip-networking the default is now to listen only on

……

5.重启mysql服务 
sudo service mysql restart

6.查看结果 
mysql> SHOW VARIABLES WHERE Variable_name LIKE ‘character_set_%’ OR Variable_name LIKE ‘collation%’; 
ERROR 2006 (HY000): MySQL server has gone away 
No connection. Trying to reconnect… 
Connection id: 3 
Current database: * NONE * 
+————————–+——————–+ 
| Variable_name | Value | 
+————————–+——————–+ 
| character_set_client | utf8mb4 | 
| character_set_connection | utf8mb4 | 
| character_set_database | utf8mb4 | 
| character_set_filesystem | binary | 
| character_set_results | utf8mb4 | 
| character_set_server | utf8mb4 | 
| character_set_system | utf8 | 
| collation_connection | utf8mb4_unicode_ci | 
| collation_database | utf8mb4_unicode_ci | 
| collation_server | utf8mb4_unicode_ci | 
+————————–+——————–+ 
10 rows in set (0.00 sec)

千古人文
2016-09-04 · TA获得超过388个赞
知道小有建树答主
回答量:233
采纳率:93%
帮助的人:86.7万
展开全部
一,下载mysql:http://dev.mysql.com/downloads/mysql/;打开页面之后,在Select Platform:下选择linux Generic,如果没有出现Linux的选项,请换一个浏览器试试。我用的谷歌版本不可以,换一个别的浏览器就行了,如果还是不行,需要换一个翻墙的浏览器。
二,下载完后解压缩并放到安装文件夹下:

1
2
3
4
5
6
7

MySQL-client-5.6.24-1.linux_glibc2.5.x86_64.rpm
MySQL-devel-5.6.24-1.linux_glibc2.5.x86_64.rpm
MySQL-embedded-5.6.24-1.linux_glibc2.5.x86_64.rpm
MySQL-server-5.6.24-1.linux_glibc2.5.x86_64.rpm
MySQL-shared-5.6.24-1.linux_glibc2.5.x86_64.rpm
MySQL-shared-compat-5.6.24-1.linux_glibc2.5.x86_64.rpm
MySQL-test-5.6.24-1.linux_glibc2.5.x86_64.rpm

这里面最重要的是:

1
2

MySQL-client-5.6.24-1.linux_glibc2.5.x86_64.rpm
MySQL-server-5.6.24-1.linux_glibc2.5.x86_64.rpm

三,检查安装
在安装MySQL之前,先检查CentOS系统中是否已经安装了一个MySQL,如果已经安装先卸载,不然会导致安装新的MySQL失败。
rpm -qa | grep mysql --查看系统之前是否已安装MySQL。
mysql-libs-5.1.47-4.el6.i686 显示结果说明 CentOS6.0系统自带了一个MySQL,我们需要删除这个老版本,用root用户执行下面语句
rpm -e --nodeps mysql-libs-5.1.47-4.el6.i686 (不同操作系统可能不一样)
先切换到"root"用户下,然后执行删除语句,删除之后,我们再次查看,发现已经成功删除了CentOS6.0自带的旧MySQL版本。
在删除MySQL的rpm后,还要进行一些扫尾操作,网上有两种操作。(备注:我在这里两种都没有用到,发现系统中并没有其他残余的MySQL信息。)
第一种善后处理:使用下面命令进行处理。
rm -rf /var/lib/mysql*
rm -rf /usr/share/mysql*
另一种善后处理:卸载后 /var/lib/mysql 中的 /etc/my.cnf 会重命名为 my.cnf.rpmsave,/var/log/mysqld.log 会重命名为 /var/log/mysqld.log.rpmsave,如果确定没用后就手工删除。
四,安装mysql server
rpm -ivhMySQL-server-5.6.24-1.linux_glibc2.5.x86_64.rpm
出现:Preparing...########################################### [100%]
MySQL-server########################################### [100%]
...............(后面的我省略了)
如果提示:要安装perl的模块,执行:yum install -y perl-Module-Install.noarch;
如果有问题,重新安装之前先移除:yum -y remove MySQL-server*
五,检测 MySQL 3306 端口是否安打开。测试是否成功可运行 netstat 看 MySQL 端口是否打开,如打开表示服务已经 启动,安装 成功。MySQL 默认的端口是3306。
[root@hadoop Mysql]# netstat -nat
如果没有3306端口,启动mysql服务: servicemysql start
六,安装客户端
[root@hadoop Mysql]# rpm -ivhMySQL-client-5.6.22-1.linux_glibc2.5.x86_64.rpm
Preparing... ########################################### [100%]
1:MySQL-client ^C########################################### [100%] 安装完成
七,修改mysql连接密码
在安装mysql server的过程中,它会随机生成一个默认的密码,位置在: /root/.mysql_secret ,打开这个文件之后就可以看到随机的密码了。
修改方式:在linux中运行:mysqladmin -u root -ppassword "新密码"。执行这个命令后,会让你输入旧密码,输入成功之后就把密码修改好了。
八,进入mysql :mysql -uroot -p新密码就可以了。
九,远程连接
如果直接连接,会报:host ... is notallowed to connect to this MySql server
1,进入mysql数据库:use mysql;
2,执行:update user sethost = '%' where user = 'root';
3,可能会报错:ERROR 1062(23000): Duplicate entry '%-root' for key 'PRIMARY',这个不用管它
4,flush privileges;(提交修改,这个绝对不能少,要不然不会生效。切记,我之前就是忘记了,死活连接不上)

十,需要注意的问题
1,卸载MariaDB

如果直接点击rpm包安装会得到错误提示,可能会是很多冲突。因为CentOS的默认数据库已经不再是MySQL了,而是MariaDB,为什么呢?

MariaDB
数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可。开发这个分支的原因之一是:甲骨文公司收购了MySQL后,有将
MySQL闭源的潜在风险,因此社区采用分支的方式来避开这个风险。MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为
MySQL的代替品。

2,启动错误:
Starting MySQL.... ERROR! The server quitwithout updating PID file (/var/lib/mysql/bogon.pid).
打开/etc/selinux/config,把SELINUX=enforcing改为SELINUX=disabled后存盘退出重启机器.如果还是不可以,需要卸载重新安装。
A,rpm –qa|grep MySQL查看安装的mysql包
B,rpm –e 安装包
C,find / -name mysql查看mysql的目录,全部删除;
D,删除/etc/my.cnf
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
云计算cloud
2017-05-04 · 助力企业上云,轻松连接未来。
云计算cloud
采纳数:254 获赞数:1718

向TA提问 私信TA
展开全部
方式一:用centos内置的话版本有点落后,建议更新rpm之后再安装,反正基本都是一次安装过,不过貌似现在新版要手动修改一些东西了,总得来说比较方便快捷
方式二:源码编译安装,这个慢,编译一次下来少说半小时,而且代码复杂,不推荐新手尝试,但是最稳定
方式三:没用过
方式四:一键安装包,有些人会在sh里面留后门,有些人写出来的会有bug,被坑过好几次,都是因为里面的判断不完整,导致就差最后几步就直接没有了,用这个的话新手应当用amh之类比较多人用的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
为了不超过7个
2016-08-12 · TA获得超过249个赞
知道小有建树答主
回答量:361
采纳率:0%
帮助的人:400万
展开全部
1
首先要确保电脑正常上网,才能通过yum安装。

2
执行yum install mysql进行安装。并在提示时输入y。

然后系统会自动寻找安装包,并进行安装。下图显示已成功安装完毕。

安装完毕后,尝试启动数据库。

系统提示找不到这个服务。再次看一下安装的包:
#rpm -qa |grep mysql
命令返回空,说明刚才没有安装成功。只好再次安装了。不过这次我们在命令后面加上*号。

看图,需要安装的包还真多!安装完成后,却发现只安装了JDBC和ODBC驱动。

我们在软件库中搜一下带mysql关键字的软件包:

返回的结果显示,软件库中根本就没有mysql软件包。这个时候,迷茫的开始查资料,资料显示在Centos7中用MariaDB代替了mysql数据库。好吧!那我们来安装MariaDB数据库吧!
操做方法同上,只不过在命令行里,把mysql改成了mariadb。

安装包一共59M

安装完成。

查看安装之后的包:

根据资料,mariadb数据库的启动命令是:
systemctl start mariadb #启动MariaDB
systemctl stop mariadb #停止MariaDB
systemctl restart mariadb #重启MariaDB
systemctl enable mariadb #设置开机启动

我执行以上命令,没有任何返回值。看来得研究一下mariadb数据了。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
raykaeso
2016-08-19 · TA获得超过160个赞
知道小有建树答主
回答量:224
采纳率:100%
帮助的人:133万
展开全部

YUM安装MySQL服务器

[root@lamp ~]# yum install mysql mysql-server mysql-devel
启动mysql服务:/etc/init.d/mysqld start

设置mysql密码:
直接使用”mysql”进入数据库模式,
mysql> USE mysql;
mysql> UPDATE user SET Password=PASSWORD(‘newpassword’) WHERE user=’root';
mysql> FLUSH PRIVILEGES;

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式