Centos7在Linux下安装Mysql5.7.19的教程(图)


本文摘自PHP中文网,作者黄舟,侵删。

这篇文章主要介绍了Linux下Centos7安装Mysql5.7.19的教程详解,需要的朋友可以参考下

1.下载mysql

2.选择源码包,通用版点击下载

直接下载就可以了,不用登录

3.解压编译


1

2

tar -zxvf mysql-5.7.19.tar.gz

cd mysql-5.7.19.tar.gz

创建数据目录 mkdir -p /data/mysql

先用cmake编译,没有这个命令需要先yum安装


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql/  #这个是编译安装之后的mysql目录所在地,可自行更改

-DMYSQL_DATADIR=/data/mysql/    #这个指向数据目录

-DMYSQL_UNIX_ADDR=/tmp/mysql.sock

-DSYSCONFDIR=/usr/local/mysql-5.7/conf/

-DWITH_MYISAM_STORAGE_ENGINE=1

-DWITH_INNOBASE_STORAGE_ENGINE=1

-DWITH_BLACKHOLE_STORAGE_ENGINE=1

-DWITH_ARCHIVE_STORAGE_ENGINE=1

-DWITH_MEMORY_STORAGE_ENGINE=1

-DWITH_READLINE=1

-DMYSQL_TCP_PORT=3306

-DENABLED_LOCAL_INFILE=1

-DDEFAULT_CHARSET=utf8

-DDEFAULT_COLLATION=utf8_general_ci

-DMYSQL_USER=mysql

-DWITH_SSL=system

-DWITH_ZLIB=system -DDOWNLOAD_BOOST=1 -DWITH_BOOST=/usr/local/boost #从MySQL 5.7.5开始Boost库是必需安装的

编译之后make && make install 漫长的等待....之后就安装完成了

安装完成之后路径/usr/local/ 下面会有一个目录 mysql,这个目录就是我编译安装设置的路径-


1

DCMAKE_INSTALL_PREFIX=/usr/local/mysql/

一般为了安全起见,我们都会创建一个mysql用户和mysql组,执行以下命令


1

2

3

4

5

#添加用户组

groupadd mysql

#添加用户mysql 到用户组mysql

useradd

-g mysql mysql

给予mysql权限


1

2

3

4

5

chown -R mysql:mysql mysql

#添加用户组

groupadd mysql

#添加用户mysql 到用户组mysql

useradd -g mysql mysql

给予mysql权限


1

chown -R mysql:mysql mysql

4.接下来配置启动向,设置开机启动

配置/ect/my.cnf,如果没有my.cnf可自行新建添加 , 仅供参考


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

[client]

ort = 3306

ocket = /tmp/mysql.sock

default-character-set = utf8mb4

[mysqld]

ort = 3306

ocket = /tmp/mysql.sock

asedir = /usr/local/mysql

datadir = /data/mysql

id-file = /data/mysql/mysql.pid

user = mysql

ind-address = 0.0.0.0

erver-id = 1

init-connect = 'SET NAMES utf8mb4'

character-set-server = utf8mb4

#skip-name-resolve

#skip-networking

ack_log = 300

max_connections = 1000

max_connect_errors = 6000

open_files_limit = 65535

table_open_cache = 128

max_allowed_packet = 4M

inlog_cache_size = 1M

max_heap_table_size = 8M

tmp_table_size = 16M

read_buffer_size = 2M

read_rnd_buffer_size = 8M

ort_buffer_size = 8M

join_buffer_size = 8M

key_buffer_size = 4M

thread_cache_size = 8

query_cache_type = 1

query_cache_size = 8M

query_cache_limit = 2M

ft_min_word_len = 4

log_bin = mysql-bi

inlog_format = mixed

expire_logs_days = 30

log_error = /data/mysql/mysql-error.log

low_query_log = 1

long_query_time = 1

low_query_log_file = /data/mysql/mysql-slow.log

erformance_schema = 0

explicit_defaults_for_timestam

#lower_case_table_names = 1

kip-external-locking

default_storage_engine = InnoDB

#default-storage-engine = MyISAM

innodb_file_per_table = 1

innodb_open_files = 500

innodb_buffer_pool_size = 64M

innodb_write_io_threads = 4

innodb_read_io_threads = 4

innodb_thread_concurrency = 0

innodb_purge_threads = 1

innodb_flush_log_at_trx_commit = 2

innodb_log_buffer_size = 2M

innodb_log_file_size = 32M

innodb_log_files_in_group = 3

innodb_max_dirty_pages_pct = 90

innodb_lock_wait_timeout = 120

ulk_insert_buffer_size = 8M

myisam_sort_buffer_size = 8M

myisam_max_sort_file_size = 10G

myisam_repair_threads = 1

interactive_timeout = 28800

wait_timeout = 28800

[mysqldump]

quick

max_allowed_packet = 16M

[myisamchk]

key_buffer_size = 8M

ort_buffer_size = 8M

read_buffer = 4M

write_buffer = 4M

接下来就执行初始化数据库语句:

注意 mysql_install_db 已经不再推荐使用了,建议改成 mysqld ?Cinitialize 完成实例初始化。


1

/usr/local/mysql/bin/mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql

这步很重要,如果没有初始化直接启动数据库会报错

ERROR! The server quit without updating PID file (/data/mysql/mysql.pid).

如果初始化失败或者报以下错误,就需要先清空你的/data/mysql目录了,因为mysql目录下面有数据所以初始化执行中止。

2017-08-29T13:39:47.241469Z 0 [ERROR] --initialize specified but the data directory has files in it. Aborting.2017-08-29T13:39:47.241536Z 0 [ERROR] Aborting

清空之后再重新初始化


1

/usr/local/mysql/bin/mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql

接下来可以启动mysql了


1

ervice mysqld start

登录测试


1

/usr/local/mysql/bin/mysql -uroot -

因为初始化--initialize-insecure 是默认没有密码的所以密码不用输入直接确定就行了;

假如登录报错


1

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

检查一下你启动数据库成功没 可执行 ps -ef | grep mysql 看看进程是不是启动状态

空密码不安全所以我们还要设置密码,下面命令中的\"root\"就是设置密码区域,我的密码设置为root,可自行修改


1

[root@localhost local]# /usr/local/mysql/bin/mysql -e "grant all privileges on *.* to root@'127.0.0.1' identified by \"root\" with grant option;"[root@localhost local]# /usr/local/mysql/bin/mysql -e "grant all privileges on *.* to root@'localhost' identified by \"root\" with grant option;"

接下来再登录测试一次密码修改成功没有就完成啦!

总结

以上就是Centos7在Linux下安装Mysql5.7.19的教程(图)的详细内容,更多文章请关注木庄网络博客!!

相关阅读 >>

mysql安装之rpm方式安装的详细步骤

centos7下安装mysql-server的详细步骤

linux下怎么打开mysql数据库

linux下重启redis的方法

linux系统用户管理与grep正则表达式详解

linux源码安装mysql5.7

mysql优化的思路介绍

centos7如何利用yum安装mysql5.7.19的具体方法

linux下mysql5.7.18 yum方式从卸载到安装图文详解

centos7安装mysql的教程(详细)

更多相关阅读请进入《mysql5.7.19》频道 >>


数据库系统概念 第6版
书籍

数据库系统概念 第6版

机械工业出版社

本书主要讲述了数据模型、基于对象的数据库和XML、数据存储和查询、事务管理、体系结构等方面的内容。



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...