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');

浙公网安备 33010602011771号