本文目录一览:
- 1、centos7怎样安装mysql服务器
- 2、如何在centos7中装mysql
- 3、centos下怎么源码安装mysql
- 4、centos7下重启mysql失败
- 5、如何在centos7中安装mysql
centos7怎样安装mysql服务器
本人博客供参考
网页链接
下载mysql源安装包shell wget
安装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)
如何在centos7中装mysql
运行mysql.server脚本,mysql.server脚本通过调用mysqld_safe启动服务器,该脚本可以通过参数start和stop指定启动还是关闭。mysql.server脚本在MySQL安装目录下的share/mysql目录中,如果是采用源码安装的MySQL,则可以在support-files目录里找到。如果想使用mysql.server,则必须把它复制到合适的运行级别目录中。
如上配置之后,就可以利用以下命令启动和关闭MySQL实例。
执行命令:
service mysqld start就启动了。
centos下怎么源码安装mysql
方法/步骤
通过yum install mysql命令进行安装MySQL客户端
类似的,使用yum install mysql-server命令安装MySQL 服务。
运行命令chkconfig --levels 235 mysqld on使MySQL服务可以自动启动,并使用命令/etc/init.d/mysqld start立刻启动MySQL服务
设置MySQL的root密码,运行命令/usr/bin/mysqladmin -u root password 'new-password',其中’new-password’是新设的密码,如123456
centos7下重启mysql失败
1、通过rpm包安装的MySQL
service
mysqld
restart
/etc/inint.d/mysqld
start
2、从源码包安装的MySQL
//
linux关闭MySQL的命令
$mysql_dir/bin/mysqladmin
-uroot
-p
shutdown
//
linux启动MySQL的命令
$mysql_dir/bin/mysqld_safe
其中mysql_dir为MySQL的安装目录,mysqladmin和mysqld_safe位于MySQL安装目录的bin目录下。
3、以上方法都无效的时候,可以通过强行命令:“killall
mysqld”来关闭MySQL。
如何在centos7中安装mysql
1、Centos 7 默认不支持mysql (都是因为钱),所以centos 7默认支持的是mariadb
何为mariadb?
MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可 MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。在存储引擎方面,使用XtraDB来代替MySQL的InnoDB。 MariaDB由MySQL的创始人Michael Widenius主导开发,他早前曾以10亿美元的价格,将自己创建的公司MySQL AB卖给了SUN,此后,随着SUN被甲骨文收购,MySQL的所有权也落入Oracle的手中。MariaDB名称来自Michael Widenius的女儿Maria的名字。
说到这,我个人强烈推荐大家开始学习MariaDB,当然由于我们一些项目还是要用mysql的,所以不能放弃。真不难学。
接下来 我讲一下centos 7对mysql的安装过程
1、如果一定要在centos 7上安装mysql ,需要卸载MariaDB,否则会冲突。
2、执行这个命令:rpm -qa | grep mariadb
3、这时会出现一些列表,都是mariadb的包,接下来我们要干掉
4、执行如下命令rpm -e –nodeps mariadb-libs-XXXXX.x86_64 (注意我这里的xxxx, 要根据第三步出现的列表 ,挨个干)
5、干完后,就可以安装mysql了。
6、去度娘搜索mysql的rpm包,一大把。我用的是5.6.22 .(找不到的,问我要)
ww
这里需要安装 至少2个,1个是mysql-server-xxxx.rpm (这个就是服务端), 还有一个是mysql-client-xxxx.rpm(这个是客户端,不想装?不装的话你没法初始化root密码,求懂)
7、执行 rpm -ivh “上面两个文件名 ”
8、这样就装好了。
9、然后 执行:service mysql start (如果OK,说明装好了)
10、再然后执行:service mysql stop (不要问为什么,因为默认root没有密码,你进不去,所以接下来我们要绕过密码登录)
11、执行这个命令:mysqld_safe –user=mysql –skip-grant-tables –skip-networking mysql -u root mysql (也就是,老子不用密码直接登录,这时mysql服务必须关闭状态)
12、然后执行这个命令:UPDATE user SET Password=PASSWORD(‘XXXXX’) where USER=’root’; 这里就是对root账号初始化密码,xxx自行改,不要忘了。忘掉的话就要用第11步初始化(谁说没有密码就不能进mysql?)
13、然后执行 flush privileges; (注意不要忘记最后的分号,必须有,不要问为什么)
14、然后输入quit; 退出mysql客户端。
15、重新启动mysql,命令:service mysql start
16、然后用root账号登录 命令:mysql -u root -p (接下来会提示你输入密码,此时屏幕不可见,不要以为死机了)
17、这时随便执行一个sql,譬如 show databases;
18、这时会报错,大约是You must SET PASSWORD before executing this statement .其实就是我们常见的:第一次登录需要改密码,
19、那我们就改一改吧,反正不会怀孕
20、执行 SET PASSWORD = PASSWORD(‘xxxx’); 注意分号,也可以把密码跟上面搞得一样。
21、然后再去执行 一些sql,看看对不对。对的话quit;
22、最后,我们最好吧mysql重启一下. service mysql restart
23、然后配置远程可以连接(注意刚才我们都是在本机操作的哦~~~~)
24、依然mysql -u root -p 输入密码后登入
25、执行:GRANT ALL PRIVILEGES ON *.* TO ‘root’@’%’ IDENTIFIED BY ‘这里填你的密码’ WITH GRANT OPTION; (这里root@后面的百分号代表全宇宙都可以连接你的mysql,只要知道密码) ,如果是仅仅允许某个IP连接,那么把这个百分号换成某个ip即可
26 、FLUSH PRIVILEGES; 并且退出
27、保险起见,再重启mysql服务
好吧,OK了。接下来大家可以用navicate 去连接啦