linux下安装mysql5.7(2018-11-04更新)

方法一(未测试)

查看mysql的安装路径:
[root@bogon ~]# whereis mysql
mysql: /usr/bin/mysql /usr/lib/mysql /usr/share/mysql /usr/share/man/man1/mysql.1.gz

查看mysql的安装包:

[root@bogon ~]# rpm -qa|grep mysql
mysql-community-client-5.6.26-2.el6.i686
mysql-community-release-el6-5.noarch
mysql-community-common-5.6.26-2.el6.i686
mysql-community-libs-5.6.26-2.el6.i686
mysql-community-server-5.6.26-2.el6.i686
[root@bogon ~]# 

卸载mysql

[root@bogon ~]# yum remove mysql

删除mysql的数据库文件:删除/var/llib/mysql目录

安装mysql
第一步:从oracle官方网站下载linux系统对应的mysql的yum源包。
第二步:把yum源包上传到linux,安装。

[root@bogon ~]# yum localinstall mysql-community-release-el6-5.noarch.rpm 
[root@bogon ~]# yum install mysql-server

第三步:启动mysql

[root@bogon ~]# service mysqld start
![这里写图片描述](https://img-blog.csdn.net/20180302155936793?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcXE5MjA0NDc5Mzk=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)

第四步:给root用户设置密码

[root@bogon ~]# /usr/bin/mysqladmin -u root password 'root'

第五步:远程连接授权

GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
#注意:'myuser'、'mypassword' 需要替换成实际的用户名和密码。
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;

Rpm安装法

如果没有网络环境可以使用参考资料中的mysql-rpm文件夹下的mysql安装包来安装。
[root@bogon mysql-rpm]# rpm -ivh mysql-community-*

安装后,启动服务、设置密码、远程授权后既可以使用。

方法二(已测试)

  1. 下载文件(https://pan.baidu.com/s/1c1VBcHy)放到目录:/usr/local/
  2. 解压(将mysql-5.7.20-linux-glibc2.12-x86_64.tar.gz.tar.gz放到/usr/local目录下)
   cd /usr/local/
  tar -zxvf mysql-5.7.20-linux-glibc2.12-x86_64.tar.gz.tar.gz //解压
  mkdir mysql  //创建mysql 文件夹
  mv mysql-5.7.20-linux-glibc2.12-x86_64/* mysql //移动文件到`/usr/local/mysql`

  groupadd mysql  //创建用户组mysql

  useradd -r -g mysql mysql //-r参数表示mysql用户是系统用户,不可用于登录系统,创建用户mysql并将其添加到用户组mysql中

		//下面两条语句是授权
  chown -R mysql mysql/

  chgrp -R mysql mysql/

3、创建配置文件

 vim /etc/my.cnf

内容如下,可以添加你需要的配置:

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

[mysqld]
character_set_server=utf8
init_connect='SET NAMES utf8'
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
socket=/tmp/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'

保存内容,按esc输入如下命令

:wq!

4、初始化数据库

#先安装一下这个东东,要不然初始化有可能会报错
yum install libaio
#手动编辑一下日志文件,什么也不用写,直接保存退出
cd /var/log/

//创建mysqld.log文件 然后保存
vim mysqld.log
:wq

//下面两条语句是授权
chmod 777 mysqld.log
chown mysql:mysql mysqld.log

//执行该语句进行初始化 --xx 是初始化参数
/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

5、查看初始密码

cat /var/log/mysqld.log

执行后关注最后一点:root@localhost: 这里就是初始密码
比如: root@localhost:<)tNHvj*w9=9

6、启动服务,进入mysql,修改初始密码,运行远程连接(这里执行完后,密码将变成:123456)

cd /var/run/
//创建mysqld文件夹 和 mysqld.pid文件
mkdir mysqld
chmod 777 mysqld
cd mysqld
vim mysqld.pid

//授权
chmod 777 mysqld.pid
chown mysql:mysql mysqld.pid 

//启动mysql
 /usr/local/mysql/support-files/mysql.server start
 /usr/local/mysql/bin/mysql -uroot -p你在上面看到的初始密码
 注意:刚刚我的密码是 <)tNHvj*w9=9,登陆语句为:  /usr/local/mysql/bin/mysql -uroot -p\<\)tNHvj*w9=9 ,注意特殊符号要转义

 // 以下是进入数据库之后的sql语句
 use mysql;
 UPDATE `mysql`.`user` SET `Host`='%', `User`='root', `Select_priv`='Y', `Insert_priv`='Y', `Update_priv`='Y', `Delete_priv`='Y', `Create_priv`='Y', `Drop_priv`='Y', `Reload_priv`='Y', `Shutdown_priv`='Y', `Process_priv`='Y', `File_priv`='Y', `Grant_priv`='Y', `References_priv`='Y', `Index_priv`='Y', `Alter_priv`='Y', `Show_db_priv`='Y', `Super_priv`='Y', `Create_tmp_table_priv`='Y', `Lock_tables_priv`='Y', `Execute_priv`='Y', `Repl_slave_priv`='Y', `Repl_client_priv`='Y', `Create_view_priv`='Y', `Show_view_priv`='Y', `Create_routine_priv`='Y', `Alter_routine_priv`='Y', `Create_user_priv`='Y', `Event_priv`='Y', `Trigger_priv`='Y', `Create_tablespace_priv`='Y', `ssl_type`='', `ssl_cipher`='', `x509_issuer`='', `x509_subject`='', `max_questions`='0', `max_updates`='0', `max_connections`='0', `max_user_connections`='0', `plugin`='mysql_native_password', `authentication_string`='*6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9', `password_expired`='N', `password_last_changed`='2017-11-20 12:41:07', `password_lifetime`=NULL, `account_locked`='N' WHERE  (`User`='root');

 flush privileges;

#如果提示必须要修改密码才可以进行操作的话则执行下面操作
 set password=password('新密码');
flush privileges;
UPDATE `mysql`.`user` SET `Host` = '%',  `User` = 'root'  WHERE (`Host` = 'localhost') AND (`User` = 'root');

7、开机自启

cd /usr/local/mysql/support-files
cp mysql.server /etc/init.d/mysqld
chkconfig --add mysqld

8、使用service mysqld命令启动/停止服务

例如我的mysql:启动/停止/暂停:

su - mysql
service mysqld start/stop/restart

这样安装之后会出现除了本机,其他机器连接就会连接不上,所以要把mysql–>user表中localhost 改为全部ip都可以连接

1.连接mysql

mysql -u root -p

2.授权

grant all privileges on *.* to 'root'@'192.168.0.1' identified by '123456';

当然,如果想给所有ip都赋予权限,则这样:

grant all privileges on *.* to 'root'@'%' identified by '123456';

3.使授权立即生效

flush privileges;

解决bash: mysql: command not found 的方法

原因:这是由于系统默认会查找/usr/bin下的命令,如果这个命令不在这个目录下,当然会找不到命令,我们需要做的就是映射一个链接到/usr/bin目录下,相当于建立一个链接文件。
首先得知道mysql命令或mysqladmin命令的完整路径,比如mysql的路径是:/usr/local/mysql/bin/mysql,我们则可以这样执行命令:

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


以下是补充:

linux下,在mysql正常运行的情况下,输入mysql提示:
mysql command not found

遇上-bash: mysql: command not found的情况别着急,这个是因为/usr/local/bin目录下缺失mysql导致,只需要一下方法建立软链接,即可以解决:
把mysql安装目录,比如MYSQLPATH/bin/mysql,映射到/usr/local/bin目录下:

# cd /usr/local/bin
# ln -fs /MYSQLPATH/bin/mysql mysql

还有其它常用命令mysqladmin、mysqldump等不可用时候都可按用此方法解决。
注:其中MYSQLPATH是mysql的实际安装路径

参考文献:
https://blog.csdn.net/dongdong9223/article/details/77854690
http://www.jb51.net/article/34622.htm
https://www.cnblogs.com/cz-xjw/p/8006904.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值