这是我在腾讯云上安装mysql的一些记录node
系统版本:CentOS Linux release 7.4.1708 (Core)mysql
mysql版本:mysql-5.7.25-linux-glibc2.12linux
1、安装前:sql
1.1 检查linux系统版本:[root@VM_0_14_centos ~]# cat /etc/system-release数据库
1.2 检查是否安装了mysql:[root@VM_0_14_centos ~]# rpm -qa | grep mysql (我机子安装了mysql后再执行该命令,仍是什么都没找到。。。)vim
卸载已安装的mysql:[root@VM_0_14_centos ~]# rpm -e --nodeps mysqlcentos
2、下载、安装mysql微信
2.1 软件来源:socket
[root@VM_0_14_centos ~]# wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz 编码
或者:连接:https://pan.baidu.com/s/17CyWUAL3cKJ8WK-haFiGtA 提取码:pv68
2.2 解压安装包、重命名为mysql并将其移动至/usr/local/mysql
2.3 添加系统用户
添加 mysql 组和 mysql 用户:
添加 mysql 组:[root@VM_0_14_centos ~]# groupadd mysql
添加 mysql 用户:[root@VM_0_14_centos ~]# useradd -r -g mysql mysql
扩展:
查看是否存在 mysql 组:[root@VM_0_14_centos ~]# more /etc/roup | grep mysql
查看 msyql 属于哪一个组:[root@VM_0_14_centos ~]# groups mysql
查看当前活跃的用户列表:[root@VM_0_14_centos ~]# w
2.3 检查是否安装libaio
[root@VM_0_14_centos ~]# rpm -qa | grep libaio
若没有则安装
版本检查:[root@VM_0_14_centos ~]# yum search libaio
安装:[root@VM_0_14_centos ~]# yum -y install libaio
2.4 安装mysql
建立mysql配置文件:
建立/etc/my.cnf 并将并写入配置文件:
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
socket=/usr/local/mysql/mysql.sock
[mysqld]
#skip-name-resolve
#设置3306端口
port = 3306
socket=/usr/local/mysql/mysql.sock
# 设置mysql的安装目录
basedir=/usr/local/mysql
# 设置mysql数据库的数据的存放目录
datadir=/usr/local/mysql/data
# 容许最大链接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 建立新表时将使用的默认存储引擎
default-storage-engine=INNODB
#lower_case_table_name=1
max_allowed_packet=16M
在/usr/local/mysql 文件夹内建立data文件夹,用来存放数据
修改当前目录拥有者为 mysql 用户:[root@VM_0_14_centos ~]# chown -R mysql:mysql ./
初始化:[root@VM_0_14_centos mysql]# ./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/
初始化后,系统会自动为mysqlroot用户赋予一个临时密码:红圈中就是,必定要记住,第一次登陆后要用的
3、配置
4.1 设置开机启动
a. 复制启动脚本到资源目录:[root@VM_0_14_centos mysql]# cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld
b. 增长 mysqld 服务控制脚本执行权限:[root@localhost mysql]# chmod +x /etc/rc.d/init.d/mysqld
c. 将 mysqld 服务加入到系统服务:[root@localhost mysql]# chkconfig --add mysqld
d. 检查mysqld服务是否已经生效:[root@localhost mysql]# chkconfig --list mysqld
命令输出相似下面的结果:
mysqld 0:off 1:off 2:on 3:on 4:on 5:on 6:off
代表mysqld服务已经生效,在二、三、四、5运行级别随系统启动而自动启动,之后可使用 service 命令控制 mysql 的启动和中止。
查看启动项:chkconfig --list | grep -i mysql
删除启动项:chkconfig --del mysql
e. 启动 mysqld:[root@localhost mysql]# service mysqld start
报错:
解决:socket 没找到,八成是/etc/my.cnf中sock配置得有问题, 这样配:socket=/usr/local/mysql/mysql.sock
配置文件改完后再次启动mysql:service mysqld start 就OK了
在登陆mysql时再次报错:
执行登陆命令时,系统默认会查找/usr/bin下的命令,若是这个命令不在这个目录下,固然会找不到命令,咱们须要作的就是映射一个连接到/usr/bin目录下。
这个是由于/usr/local/bin目录下缺失mysql致使,只须要一下方法创建软连接,便可以解决:
把mysql安装目录,好比/usr/local/mysql/bin/mysql,映射到/usr/bin目录下:
而后再登陆mysql,又报错:
找不到套接字了,首先要知道这个mysql.sock是干吗的:
链接localhost一般经过一个Unix域套接字文件进行,通常是/tmp/mysql.sock。若是套接字文件被删除了,本地客户就不能链接。这可能发生在你的系统运行一个cron任务删除了/tmp下的临时文件。
解决:先执行:[root@VM_0_14_centos ~]# find / -name mysql.sock
若是能够查找到, 作个软链接就行了
[root@VM_0_14_centos tmp]# ln -s /usr/local/mysql/mysql.sock /tmp/mysql.sock
4.2 配置环境变量:
vim /etc/profile
加上这一句:export PATH = $PATH:/usr/local/mysql/bin
4.3 更改密码、配置容许外网链接:
这时就能够登上去了,可是登录后没法进行任何操做,且外网也没法链接到该mysql:
改密码三步:
1: SET PASSWORD = PASSWORD('your new password');
2: ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;
3: flush privileges;
设置外网可连:
END!
想了解更多Python关于爬虫、数据分析的内容,欢迎你们关注个人微信公众号:悟道Python