您的位置:

centos7mysql源码的简单介绍

本文目录一览:

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 去连接啦