LINUX下mysql安装踩过的坑
闲来无事租了台阿里云的服务器,一年99比较便宜就租了两年玩玩顺便学习下linux常用的命令。昨天花了挺长时间装了个mysql数据库遇到了不少坑,因此记录下来,省的以后遇到类似的坑不知道如何解决了。
1、下载mysql数据库,这里有两种方式,
第一种直接去官网下载linux版本的mysql数据库然后用filezilla工具上传到自己的服务上
下载地址:http://dev.mysql.com/downloads/mysql/5.6.html#downloads,通用版本64位
第二种方式就是在linux终端用命令在网上下载wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.33-linux- glibc2.5-x86_64.tar.gz
wget位下载命令可以直接在终端下载软件不用下载完之后用文件传输工具上传到服务器,比较方便。我用的是第二种,关于更多wget命令可以参考以下博客https://www.cnblogs.com/semonxv/p/3816366.html。安装mysql教程我也是在网上找的博客参照上边写的安装的,但是踩了不少坑,因此想好好总结下。参考博客http://www.cnblogs.com/xiaotao726/p/6562265.html
2、解压复制
使用命令tar -xvf mysql解压缩,一般打mysql按tab键剩下的基本上自己就出来了
解压完之后将其移到别的文件夹下,我放的目录是/usr/local/mysql,mysql文件夹是自己建的。使用命令mv mysql-5.7.11-Linux-glibc2.5-x86_64/* /usr/local/mysql
3、创建data目录
使用命令mkdir /usr/local/mysql/data
4、创建mysql用户组及其用户
命令groupadd mysql
useradd -r -g mysql mysql
5、初始化数据
./bin/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/
6、复制配置文件到/etc/my.cnf
cp -a ./support-files/mysql-default.cnf /etc/my.cnf
7、mysql的服务脚本放到系统服务中
cp -a ./support-files/mysql.server /etc/init.d/mysqld
修改my.cnf,我的my.cnf是放在了etc文件中因此,进入到etc文件夹,输入命令vi my.cnf就可以看到my.cnf文件里写的内容,键盘上安insert键即可进入编辑模式修改方式如下:
# These are commonly set, remove the # and set as required. basedir = /usr/local/mysql datadir = /usr/local/mysql/data port = 3306 # server_id = ..... socket = /tmp/mysql.sock character-set-server = utf8 # Remove leading # to set options mainly useful for reporting servers. # The server defaults are faster for transactions and fast SELECTs. # Adjust sizes as needed, experiment to find the optimal values. # join_buffer_size = 128M # sort_buffer_size = 2M # read_rnd_buffer_size = 2M
8、创建ln
ln -s /usr/local/mysql/ /usr/bin/
9、启动mysql服务
service mysqld start
10、初始化密码
cat /root/.mysql_secret
以上这些步骤都是在linux下的根目录下敲命令即可
接下来重要的一步就是登陆mysql数据库,这个要进入到mysql下的bin目录,原来看到文章里写的是用mysql -u root -p登陆,但是敲了该命令之后一直提示我该命令不可用,查了好久发现这个确实不好用。应该用命令./mysql -u root -p
如图所示
登陆成功如果想修改mysql的登陆密码,在mysql默认的数据中有个user的表,里边的字段不是password ,不是password,不是password重要的事情说三遍,网上查询一直告诉我是password结果输入修改语句的时候一直报错。可能以前是,现在更新了不是这个字段了吧。我们可以使用show column from user看下这个表中都有哪些字段如图所示:
这些都是这个表中的字段,其中user字段值即为我们登陆mysql数据库的用户名,其中的authentication_string字段存放的才是mysql登陆的密码,如果要修改就修改该字段即可,在mysql命令下输入update语句就可以修改,记得每句sql语句后边加上;才能正常执行。
以上为mysql所有的安装教程以及如何修改mysql的登陆密码。
如果忘记了密码,那就需要改配置文件了。
在my.cnf文件中的mysqld(一定要加在这个下边,内容里还有个mysqladmin我之前粗心的放在了这个的最后一句然并卵)中的最后一句下边加上skip-grant-tables,这句话就是没有任何权限就可以登陆mysql,不需要输入密码。
修改完配置文件之后需要重启mysql数据库,不能用service mysqld start。我一直用这种方式重启结果并不好使,坑。使用/etc/init.d/mysqld restart重启,以上命令都是在linux根目录下敲
重启成功之后进入到mysql的bin文件夹里输入命令./mysql -u root就可以不用输入密码登陆到mysql数据库了,然后再使用update语句修改密码就可以了。
原文地址https://blog.csdn.net/CHL_CAT/article/details/81186763