您的位置:首页 > 运维架构 > Linux

linux系统安装mysql5.7.26

2020-04-05 12:12 1021 查看

1、下载mysql。

下载链接:https://dev.mysql.com/downloads/mysql/

2、选择下载的版本。

3、下载完后上传到linux下的/usr/local目录下解压。

#解压安装包

[code]tar -zxvf mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz

建议:最好安装到/usr/local/mysql目录中,安装到别的目录可能会出现很多问题。

4、删除安装包和重命名解压后的文件夹。

删除安装包:rm -rfmysql-5.7.26-linux-glibc2.12-x86_64.tar.gz

重命名:mv mysql-5.7.26-linux-glibc2.12-x86_64  mysql

5、查询本机是否有mysql,卸载系统自带mysql。

没安装mysql直接下一步

查看:rpm -qa|grep mysql

卸载:rpm -e -nodeps softfullname

6、创建用户组和用户。

创建用户组:groupadd mysql

创建用户:useradd -r -g mysql mysql

出现:useradd: group 'mysql' does not exist

没有直接下一步

解决措施:#groupadd mysql

                  #useradd -r -g mysql mysql

查看用户组#groups mysql

为了安全性,给mysql数据库创建专有用户,该用户只能访问mysql目录,不能访问系统其它目录

另外不建议直接用root初始化mysql,否则连接mysql时会报错:[ERROR] Fatal error: Please read "Security" section of the manual to find out how to run mysqld as root!

7、给mysql用户指定专有用户和用户组。

首先创建data目录

cd /usr/local/mysql

mkdir data

指定用户和用户组:

cd /usr/local

chown -R mysql mysql/

chgrp -R mysql mysql/

-R包含目录下所有和目录和文件

8、初始化mysql。

cd /usr/local/mysql/bin

./mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/ --lc_messages_dir=/usr/local/mysql/share --lc_messages=en_US

没有libaio的话:

没有直接下一步

[code]#先安装一下这个东东,要不然初始化有可能会报错
yum install libaio

记住生成的临时密码

如果忘记密码或者想重新初始化,可以先将mysql/data目录中文件删除,然后再执行初始化命令

9、配置my.cnf。

vi /etc/my.cnf

精简版:

[code]#[client]
#port = 3306
#socket = /tmp/mysql.sock

[mysqld]
#服务端口号 默认3306
port=3306
#内部内存临时表的最大值 ,设置成128M。
#比如大数据量的group by ,order by时可能用到临时表,
#超过了这个值将写入磁盘,系统IO压力增大
max_heap_table_size=1024M
tmp_table_size=1024M
character_set_server=utf8
init_connect='SET NAMES utf8'
#mysql安装根目录
basedir=/usr/local/mysql
#mysql数据文件所在位置
datadir=/usr/local/mysql/data
#设置socke文件所在目录
socket=/tmp/mysql.sock
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
#是否对sql语句大小写敏感,1表示不敏感
lower_case_table_names = 1
#最大连接数
max_connections=5000

可选版: 

[code]# For advice on how to change settings please see  
# http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html  
# *** DO NOT EDIT THIS FILE. It's a template which will be copied to the  
# *** default location during install, and will be replaced if you  
# *** upgrade to a newer version of MySQL.  
  
[mysqld]  
# sql_mode = NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES   
  
# 一般配置选项  
basedir = /usr/local/mysql/  
datadir = /usr/local/mysql/data  
port = 3306  
character-set-server = utf8  
explicit_defaults_for_timestamp = true  
# socket = /var/run/mysqld/mysqld.sock  
  
#下面是可选项,要不要都行,如果出现启动错误,则全部注释掉,保留最基本的配置选项,然后尝试添加某些配置项后启动,检测配置项是否有误  
back_log = 300  
max_connections = 3000  
max_connect_errors = 50  
table_open_cache = 4096  
max_allowed_packet = 32M  
#binlog_cache_size = 4M  
  
max_heap_table_size = 128M  
read_rnd_buffer_size = 16M  
sort_buffer_size = 16M  
join_buffer_size = 16M  
thread_cache_size = 16  
query_cache_size = 128M  
query_cache_limit = 4M  
ft_min_word_len = 8  
  
thread_stack = 512K  
transaction_isolation = REPEATABLE-READ  
tmp_table_size = 128M  
#log-bin=mysql-bin  
long_query_time = 6  
  
server_id=1  
  
innodb_buffer_pool_size = 1G  
innodb_thread_concurrency = 16  
innodb_log_buffer_size = 16M  
  
innodb_log_file_size = 512M  
innodb_log_files_in_group = 3  
innodb_max_dirty_pages_pct = 90  
innodb_lock_wait_timeout = 120  
innodb_file_per_table = on  
  
[mysqldump]  
quick  
max_allowed_packet = 32M  
  
[mysql]  
no-auto-rehash  
default-character-set=utf8  
safe-updates  
  
[myisamchk]  
key_buffer = 16M  
sort_buffer_size = 16M  
read_buffer = 8M  
write_buffer = 8M  
  
[mysqlhotcopy]  
interactive-timeout  
  
[mysqld_safe]  
open-files-limit = 8192  
  
[client]  
/bin/bash: Q: command not found  

参考版本

[code][client]
port = 3306

[mysqld]
max_heap_table_size=1024M
tmp_table_size=1024M
character_set_server=utf8
init_connect='SET NAMES utf8'
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
socket=/usr/local/mysql/mysql.sock
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
#不区分大小写
lower_case_table_names = 1

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

max_connections=5000

default-time_zone = '+8:00'

10、启动。

cd /usr/local/mysql/bin

mkdir /var/run/mysqld

chmod 777 /var/run/mysqld/

启动:./mysqld_safe --user=mysql &

11、设为开机启动。

cd /usr/local/mysql/support-files/

cp mysql.server /etc/init.d/mysql

12、查找位置:find / -name mysql(可选)。

vi /etc/init.d/mysql

将mysql目录填上:

basedir=/usr/local/mysql/

datadir=/usr/local/mysql/data/

13、授权。

授权:chmod +x /etc/init.d/mysql

设为开机启动:chkconfig --add mysql

14、登录mysql修改密码授权远程登录。

cd /usr/local/mysql/bin

登录:./mysql -u root -p    

输入临时密码

修改密码:set password=password("root");

登录授权:grant all privileges on *.* to'root' @'%' identified by 'root';

登录授权用户名和密码:grant all privileges on *.* to'用户名' @'%' identified by '密码';

授权生效:flush privileges;

可使用navicat或sqlyog等工具进行登录,注意关闭防火墙或开放3306端口

到此就安装完成了。

mysql其他操作

1、service启动。

重启服务:service mysql restart

停止服务:service mysql stop

启动服务:service mysql start

查看服务:service mysql status

2、卸载mysql

1、使用以下命令查看当前安装mysql情况,查找以前是否装有mysql

1

rpm -qa|
grep
 
-i mysql

可以看到如下图的所示:

显示之前安装了:

     MySQL-client-5.5.25a-1.rhel5

     MySQL-server-5.5.25a-1.rhel5

2、停止mysql服务、删除之前安装的mysql

删除命令:

rpm -e –nodeps 包名

1

2

rpm -ev MySQL-client-5.5.25a-1.rhel5

rpm -ev MySQL-server-5.5.25a-1.rhel5

查找之前老版本mysql的目录、并且删除老版本mysql的文件和库

find
 
/ -name mysql

查找结果如下:

1

2

3

4

5

find
 
/ -name mysql

 

/var/lib/mysql

/var/lib/mysql/mysql

/usr/lib64/mysql

删除对应的mysql目录

1

2

3

rm
 
-rf
/var/lib/mysql

rm
 
-rf
/var/lib/mysql

rm
 
-rf
/usr/lib64/mysql

具体的步骤如图:查找目录并删除

注意:卸载后/etc/my.cnf不会删除,需要进行手工删除

1

rm
 
-rf
/etc/my
.cnf

  • 点赞 1
  • 收藏
  • 分享
  • 文章举报
遗落的星河 发布了2 篇原创文章 · 获赞 2 · 访问量 1203 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: