一 环境准备
1 清理历史环境
是否自动安装了mariadb
检查命令:rpm -qa |grep mariadb
删除命令:yum remove mariadb-libs -v
2 创建用户和组
创建命令:useradd mysql -s /sbin/nologin
3 创建相关目录
创建软件目录
mkdir -p /usr/local/database (已经存在,官方标准,也可以自己创建)
创建数据目录
mkdir -p /data/3306
创建日志目录
mkdir -p /binlog/3306
4 设置权限,将创建的用户添加到mysql用户和用户组
chown -R mysql.mysql /data /binlog /usr/local/database
二 上传二进制安装文件
我的电脑是mac,命令如下:
scp -r /Users/luobiao/Downloads/python/mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz root@139.129.93.203:/usr/local/database/
三 安装文件
直接解压文件 tar xf mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz
建立一个软链接 ln -s mysql-5.7.26-linux-glibc2.12-x86_64 mysql
四 设置环境变量
打开配置文件: vi /etc/profile 写入 export PATH=/usr/local/database/mysql/bin:$PATH
(这里遇到一个问题,:$path写成:path了,导致用不了ls cat各种命令,解决办法 执行export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin后,然后改正确在解决.)
让配置生效:source /etc/profile
检测是否安装成功:mysql -V
五 初始化系统表
mysqld --initialize-insecure --user=mysql --basedir=/usr/local/database/mysql --datadir=/data/3306
出现如下日志,表示初始化成功:
[Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2020-03-15T01:58:34.912905Z 0 [Warning] InnoDB: New log files created, LSN=45790
2020-03-15T01:58:35.042802Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.
2020-03-15T01:58:35.124624Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: 7acb1b1a-6660-11ea-b89b-00163e0477d5.
2020-03-15T01:58:35.134431Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.
2020-03-15T01:58:35.134883Z 1 [Warning] root@localhost is created with an empty password ! Please consider switching off the --initialize-insecure option.
可能出现的问题:
如果出现error,一般是缺少依赖,通过yum install解决。
如果需要再次初始化需要删除数据目录,/data/3306/里面生成的数据文件.否则会报错.
扩展:
初始化的两种方式:
5.7 版本
1):mysqld --initialize --user=mysql --basedir=/usr/local/database/mysql --datadir=/data/3306
这种方式不常用,会产生一个初始化的密码,不能使用,需要修改才能进入mysql,而且会规定3种密码复杂度(包含字母数字特殊字符),长度没有限制,不推荐使用
2)mysqld --initialize-insecure --user=mysql --basedir=/usr/local/database/mysql --datadir=/data/3306
常用方式,没有密码,后面密码复杂度根据公司的密码复杂度去自己定义。
5.6版本
/usr/local/database/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/database/mysql --datadir=/data/3306
六 编写配置文件
vi /etc/my.cnf
[mysqld]
user=mysql
basedir=/usr/local/database/mysql
datadir=/data/3306
server_id=6
port=3306
socket=/tmp/mysql.sock
[mysql]
socket=/tmp/mysql.sock
保存,退出。
七 准备mysql启动脚本
进入启动目录 :cd /usr/local/database/mysql/support-files/
拷贝启动文件到etc下:cp /usr/local/database/mysql/support-files/mysql.server /etc/init.d/mysqld
八 启动mysql
centos6:
service start myqld
contos7:
将msyqld添加至系统管理?
chkconfig --add mysqld
启动 systemctl start mysqld
关闭 systemctl stop mysqld
重启 systemctl restart mysqld
九 登陆mysql
没有密码情况:直接mysqld登陆
mysql修改密码
mysqladmin -uroot -p password 密码
网友评论