liunx上关于mysql安装部署步骤

1.卸载Linux系统上自带的mysql插件(old版本)

查找mysql相关安装:

rpm -qa|grep -i mysql

 

可能会出现以下的一个或多个,没有更好,说明你的系统很干净,但是以防万一,不管怎样下面的操作还是检查一变

perl-DBD-MySQL-4.013-3.el6.x86_64

mysql-libs-5.1.71-1.el6.x86_64

qt-mysql-4.6.2-26.el6_4.x86_64

mysql-5.1.71-1.el6.x86_64

mysql-server-5.1.71-1.el6.x86_64

mysql-community-common-5.7.23-1.el7.x86_64

如果出现了上面的一个或多个,也不用担心,使用卸载命令,有几个干掉几个!

卸载命令:rpm –ev {包名},如:

rpm -ev mysql-community-common-5.7.23-1.el7.x86_64
 

查找老版本mysql相关的安装目录命令:

find / -name mysql

 

若查找到相关目录使用命令:rm –rf {目录名}

  

最后使用命令:rpm -qa|grep -i mysql,重新检查一遍系统中是否安装mysql

  

如果是centos7,那么默认会安装一个mysql的分支产品mariadb,必须先卸载此分支产品

 rpm -qa | grep mariadb

拷贝找到的列表,一个个卸载,如

rpm -e --nodeps mariadb-libs-5.5.35-3.el7.x86_64

2.安装包处理

新建software目录,切换到software目录,下载到该目录:

mkdir /root/software

cd/root/software

  

下载:(600M左右,下载需要点时间)

                                                                                   (mysql-5.7.23-linux-glibc2.12-x86_64.tar.gz)
wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.23-linux-glibc2.12-x86_64.tar.gz

注:问题?

-bash: wget: command not found
 

然后在执行就可以了,或者可以去官网下载。

  

官网下载

地址:

https://dev.mysql.com/downloads/mysql/

  

 

 

 

下载完 

  

解压到当前目录:

tar -xzvf mysql-5.7.23-linux-glibc2.12-x86_64.tar.gz  

mysql主目录处理 

software目录下移动文件到/usr/local/mysql:

mv mysql-5.7.23-linux-glibc2.12-x86_64/usr/local/mysql

cd/usr/local/mysql

mkdir data

 

主目录权限处理

查看组和用户情况

cat /etc/group | grep mysql
cat /etc/passwd |grep mysql

 

若存在,则删除原mysql用户:userdel -r mysql,会删除其对应的组和用户。

  

在查看就会发现没有,说明你已经删掉了

  

创建mysql组和mysql用户

 groupadd mysql
useradd -r -g mysql mysql
chown -R mysql:mysql /usr/local/mysql

  

创建配置文件及相关目录

修改配置文件:/etc/my.cnf,配置不对的话,后面初始化不全,会拿不到默认密码。

vim /etc/my.cnf

修改内容:

[mysqld]

basedir=/usr/local/mysql

datadir=/usr/local/mysql/data

port = 3306

socket=/tmp/mysql.sock

symbolic-links=0

log-error=/var/log/mysqld.log

pid-file=/tmp/mysqld/mysqld.pid

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

[client]

default-character-set=utf8

[mysql]

default-character-set=utf8

[mysqld]

log-bin=mysql-bin

binlog-format=ROW

server_id=1

max_connections=1000

init_connect='SET collation_connection = utf8_unicode_ci'

init_connect='SET NAMES utf8'

character-set-server=utf8

collation-server=utf8_unicode_ci

skip-character-set-client-handshake

:wq! 保存退出。

创建文件/tmp/mysql.sock:设置用户组及用户,授权

cd /tmp

touch mysql.sock

chown mysql:mysql mysql.sock

chmod 755 mysql.sock

  

创建文件/tmp/mysqld/mysqld.pid

mkdir mysqld

cd mysqld

touch mysqld.pid

cd ..

chown -R mysql:mysql mysqld

cd mysqld

chmod 755 mysqld.pid

  

创建文件/var/log/mysqld.log

 

touch /var/log/mysqld.log

chown -R mysql:mysql /var/log

cd log

chmod 755 mysqld.log

配置文件其他参数,仅供参考https://blog.csdn.net/u011823494/article/details/74548642

安装和初始化数据库

进入bin目录:

cd /usr/local/mysql/bin/

初始化数据库:

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

注:

这时会出现错误

./mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory
 

解决方案:

 yum install -y libaio

  

在执行./mysqld --initialize --user=mysql --basedir=/usr/local/mysql--datadir=/usr/local/mysql/data

安全启动:

./mysqld_safe --user=mysql &

是否启动成功,可以通过查看mysql进程,ps -ef | grep mysql

  

默认密码在mysqld.log日志里, 找到后保存到安全的地方:

cat /var/log/mysqld.log

其中root@localhost: 后面的就是默认密码,后面登录用.(如果找不到可能默认是空,登录时密码直接回车,否则可能安装有问题)

进入bin目录:

cd /usr/local/mysql/bin/

登录mysql:

./mysql -u root -p

拷贝或者输入mysqld.log中获得的默认密码,即可进入mysql命令客户端。

(初始密码无法登陆时, 修改/etc/my.cnf文件   mysqld中添加一行   

  

但是,若输入相关命令,则会提示你修改用户密码(注意后面一定要加;)。

show databases;

假设密码修改为xh2018

mysql> set password=password("xh2018");

设置远程登录权限

mysql>grant all privileges on *.* to 'root'@'%' identified by 'xh2018';  

立即生效:

mysql> flush privileges;

  

退出quit 或者 exit;

mysql> quit;

 

至此,mysql安装流程已结束。

开机服务启动设置:

support-files/mysql.server 拷贝为/etc/init.d/mysql

cp -a /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
 

查看是否拷贝成功

查看mysql服务是否在服务配置中

chkconfig --list mysql

若没有,则把mysql注册为开机启动的服务,然后在进行查看

chkconfig --add mysql

chkconfig --list mysql

启动 停止

service mysql start

service mysql stop

 

创建快捷方式:

服务启动后,直接运行mysql -u root -p即可登录,不需要进入到对应的目录。

ln -s /usr/local/mysql/bin/mysql /usr/bin

  

 

 

 

查看Linux环境下的系统版本的命令:cat /etc/redhat-release

 

1、关闭firewall:

systemctl stop firewalld.service #停止firewall

systemctl disable firewalld.service #禁止firewall开机启动

firewall-cmd --state #查看默认防火墙状态(关闭后显示notrunning,开启后显示running)

 

2、MySQL非严格模式的设置 。当页面出现sql语句导致的数据库严格模式错误时,可以在 /etc/my.cnf文件先添加:

sql_mode = STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION .

重启数据库即可。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值