Linux安装64位Mysql5.7
首先下载mysql
地址:https://dev.mysql.com/downloads/mysql/
下载社区版mysql
下载完成后;ftp上传到服务器 /user/local/目录下,这个自己定!
使用命令 ,对mysql进行解压缩
[root@instance_4dbde0 local]# tar -zxvf mysql-5.7.20-linux-glibc2.12-x86_64.tar.gz
使用命令,对mysqll文件夹进行重命名
[root@instance_4dbde0 local]# mv mysql-5.7.20-linux-glibc2.12-x86_64 mysql-5.7.20
添加用户组和用户
#添加用户组
groupadd mysql
#添加用户mysql 到用户组mysql
useradd -g mysql mysql
安装
#在/usr/local/mysql-5.7.20目录下新建data文件夹,以后的数据库文件将放在这里
[root@instance_4dbde0 mysql-5.7.20]# pwd
/usr/local/mysql-5.7.20
[root@instance_4dbde0 mysql-5.7.20]# mkdir data
[root@instance_4dbde0 mysql-5.7.20]# chown -R mysql:mysql ./
#mysql_install_db 被废弃了,取而代之的是 mysqld –-initialize
[root@instance_4dbde0 mysql-5.7.20]# ./bin/mysql_install_db --user=mysql --basedir=/usr/local/mysql-5.7.20/ --datadir=/usr/local/mysql-5.7.20/data/
#将mysql/目录下除了data/目录的所有文件,改回root用户所有
[root@instance_4dbde0 mysql-5.7.20]# chown -R root .
#mysql用户只需作为mysql-5.7.20/data/目录下所有文件的所有者
[root@instance_4dbde0 mysql-5.7.20]# chown -R mysql data
#复制启动文件
[root@instance_4dbde0 mysql-5.7.20]# cp support-files/mysql.server /etc/init.d/mysqld
[root@instance_4dbde0 mysql-5.7.20]# chmod 755 /etc/init.d/mysqld
[root@instance_4dbde0 bin]# cp /usr/local/mysql-5.7.20/bin/my_print_defaults /usr/bin/
#修改启动脚本
[root@instance_4dbde0 mysql-5.7.20]# vi /etc/init.d/mysqld
#修改项:
basedir=/usr/local/mysql-5.7.20/
datadir=/usr/local/mysql-5.7.20/data
port=3306
#启动服务
[root@instance_4dbde0 mysql-5.7.20]# service mysqld start
#加入环境变量,编辑 /etc/profile,这样可以在任何地方用mysql命令了
[root@instance_4dbde0 mysql-5.7.20]# vi /etc/profile
#添加mysql路径
export PATH=$PATH:/usr/local/mysql-5.7.20/bin
#刷新立即生效
[root@instance_4dbde0 mysql-5.7.20]# source /etc/profile
配置以上信息之后,基本就可以启动了mysql(如果不能启动,请看最后的配置文件),但是现在还缺少mysql的配置文件,即my.cnf文件(没有它Mysql也可以使用内置的默认参数启动),最后说
接下来就可以使用命令登录mysql了
[root@instance_4dbde0 bin]# mysql -uroot -p
Enter password:
这个时候输入mysql的root密码就可以登录了(这个输入密码的操作有可能直接按Enter就可以登录mysql,即默认的无密码),登录之后可以更改root密码,
这里多数会出现密码修改不了的问题解决办法如下
# /etc/init.d/mysql stop
# mysqld_safe --user=mysql --skip-grant-tables --skip-networking &
# mysql -u root mysql
mysql> update mysql.user set authentication_string=password('root') where user='root' ;
mysql> FLUSH PRIVILEGES;
mysql> quit
# /etc/init.d/mysql restart
# mysql -uroot -p
Enter password: <输入新设的密码newpassword>
结束后如果想用Windows navicat连数据库还是有问题
解决办法如下
root用户登录后执行这条sql
期间可能会提醒
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
set password='root';
grant all privileges on *.* to 'root'@'%' identified by 'rootpasswd' with grant option;
搞定!!
mysql>use mysql;
mysql> update user set authentication_string=password("新密码") where user='root'; 【密码注意大小写,建议密码设置复杂点,否则会出现一些奇怪的问题,下面会说到】
mysql> flush privileges;
mysql> exit;
注意:登陆成功后如果使用命令出现如下情况
也即:登陆成功后,使用任何命令都出现 1820错误:
那么直接使用如下命令,即可解决