Linux 部署 mysql

 Mysql安装

1) 检查是否已安装,grep-i选项表示匹配时忽略大小写

 

rpm -qa|grep -i mysql

 

=========显示如下信息

 

mysql-libs-5.1.66-2.el6_3.x86_64

 

*可见已经安装了库文件,应该先卸载,不然会出现覆盖错误。

 

注意卸:载时使用了--nodeps选项,忽略了依赖关系:

 

rpm -e mysql-libs-5.1.66-2.el6_3.x86_64 --nodeps

 

2) 添加mysql组和mysql用户,用于设置mysql安装目录文件所有者和所属组。

 

groupadd mysql

 

useradd -r -g mysql -s /bin/false mysql

 

*useradd -r参数表示mysql用户是系统用户,不可用于登录系统

 

3) 将二进制文件解压到指定的安装目录,我们这里指定为/usr/local

 

/usr/local/mysql-5.7.16-linux-glibc2.5-x86_64

 

*加压后在/usr/local/生成了解压后的文件夹mysql-5.7.16-linux-glibc2.5-x86_64,这名字太长,我们为它建立一个符号链接mysql,方便输入。

 

 

 

cd /usr/local

 

ln -s mysql-5.7.16-linux-glibc2.5-x86_64 mysql

 

4) 进入mysql文件夹,也就是mysql所在的目录,并更改所属的组和用户。

 

cd /usr/local/mysql

 

chown -R mysql:mysql .

 

5) 执行mysql_install_db脚本,对mysql中的 data目录进行初始化并创建一些系统表格。注意mysql服务进程mysqld运行时会访问data目录,所以必须由启动mysqld进程的用户(就是 我们之前设置的mysql用户)执行这个脚本,或者用root执行,但是加上参数--user=mysql

 

bin/mysqld --initialize --user=mysql

 

bin/mysql_ssl_rsa_setup

 

*以上操作会生成root用户的临时密码,需记住!!(若先配置了my.cfg文件,初始化的时候密码或写入日志文件中,可从日志文件中找出初始密码

 

6) mysql/目录下除了data/目录的所有文件,改回root用户所有,mysql用户只需作为mysql/data/目录下所有文件的所有者。

 

cd /usr/local/mysql

 

chown -R root:root .

 

chown -R mysql:mysql data

 

7) 配置文件

 

vim /etc/my.cnf

 

==============以下是配置信息

 

[mysqld]

 

datadir=/usr/local/mysql/data   ###mysql数据存放路径,可指定到磁盘充足的目录下,data目录保证是mysql的属组跟用户

 

socket=/var/lib/mysql/mysql.sock  ##/var/lib/mysql/确定目录是否存在,不存在则创建 ,mysql目录保证是mysql的属组跟用户

 

log-error=/var/log/mysql/mysqld.log ###日志信息存放目录, mysql目录保证是mysql的属组跟用户

 

log_bin=mysql-bin

 

server_id=100

 

 

 

user = mysql

 

port = 3306    ###端口默认是3306

 

#skip-grant-tables

 

 

 

sql_mode = "STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER"

 

 

 

character_set_server = utf8

 

lower_case_table_names = 1

 

skip-name-resolve

 

 

 

max_connections=1000

 

wait_timeout = 28000

 

interactive_timeout = 28000

 

max_connect_errors = 99999

 

innodb_buffer_pool_instances = 8

 

 

 

max_heap_table_size = 512M

 

tmp_table_size = 256M

 

query_cache_type = 0

 

skip_external_locking

 

read_buffer_size = 16777216

 

read_rnd_buffer_size = 33554432

 

sort_buffer_size = 33554432

 

thread_cache_size = 512

 

 

 

[mysqld_safe]

 

pid-file=/var/lib/mysql/mysqld.pid

 

 

 

[client]

 

default-character-set = utf8

 

socket=/var/lib/mysql/mysql.sock   ####client socket目录必须配置,否则会出现密码无法登入的情况

 

port=3306

 

 

 

[mysql]

 

no-auto-rehash

 

prompt = "\\u@\\h : \\d \\r:\\m:\\s> "

 

default-character-set = utf8

 

 

 

8) 添加mysql服务

 

cd /usr/local/mysql

 

cp support-files/mysql.server /etc/init.d/mysql.server

 

9) 启动服务

 

service mysql.server start

 

10) 登录测试

 

mysql -uroot -p(临时密码) --port=3306

 

 

 

首次登录会提示重设密码:

 

set password=password('123456');

 

posted @ 2018-01-30 14:45  youshd  阅读(256)  评论(0)    收藏  举报