linux搭建mysql

好久不搭建,突然发现一些问题,这里记录下解决方式

1、下载mysql的包:wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.38-linux-glibc2.12-x86_64.tar.gz

2、或者上传包解压:tar -zxvf mysql-5.7.38-linux-glibc2.12-x86_64.tar.gz

3、解压完成后复制下面命令 移动这个目录到/usr/local目录下,并修改名字为mysql,
mv mysql-5.7.38-linux-glibc2.12-x86_64 /usr/local/mysql

4、复制下面的命令:在/usr/local/mysql目录下创建data目录(一定需要在这个目录中创建!)
mkdir /usr/local/mysql/data

5、修改mysql目录的下所有的目录及文件夹的用户组和用户的权限。(一步一步运行下面命令)

chown -R mysql:mysql /usr/local/mysql
chmod -R 755 /usr/local/mysql

6、使用下面命令添加mysql用户(可以不需要)
groupadd mysql
useradd -r -g mysql mysql

7、进行 mysql 编译和初始化, 提前cd到一下目录下
cd /usr/local/mysql/bin

./mysqld --initialize --user=mysql --datadir=/usr/local/mysql/data --basedir=/usr/local/mysql
创建好对应的目录/usr/local/mysql/data 和/usr/local/mysql

初始化的时候 会有初始密码:这里记得保存

8、只是初始化了 mysql5.0 后就不会自带 my.cnf 文件, 需要我们自己创建 ,直接在对应的mysql的目录下创建文件

[mysqld]
datadir=/usr/local/mysql/data
port = 3306
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
symbolic-links=0
max_connections=400
innodb_file_per_table=1
lower_case_table_names=1
character_set_server=utf8

9、启动服务

	/usr/local/mysql/support-files/mysql.server start

10、添加mysql 软连接并重启mysql服务。

ln -s /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql 
ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql
service mysql restart

11、登录mysql ,并修改初始密码!

mysql -u root -p

修改对应密码

set password for root@localhost = password('123456');

正常情况可以进入,如果提示密码错误等类似问题,下面是解决方案

12、在上面my.cnf文件的[mysqld]添加的skip-grant-tables ,跳过密码,重启动服务:service mysql restart

13、mysql -u root -p 进入直接跳过密码

14、执行set password for root@localhost = password(‘123456’); 如果报错类似:ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement

直接输入:flush privileges;
再次输入set password for root@localhost = password(‘123456’);

为避免麻烦,再次设置远程访问

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'IDENTIFIED BY '123456' WITH GRANT OPTION;

flush privileges;

退出:exit; 即可

你可能感兴趣的:(mysql,linux,数据库)