安装5.1:
1. 查看是否还有mysql软件:
yum install mysql
2. 安装mysql客户端
yum install mysql-server
yum install mysql-devel
3、启动和使用
service mysqld restart|start|stop
mysql可以直接当系统命令使用,yum安装后,mysql的使用命令全部在/etc/init.d路径下
安装5.7:
yum search libaio
yum install libaio
groupadd mysql
useradd mysql -g mysql
cd /usr/local
tar -zxvf /usr/local/mysql-5.7.18-linux-glibc2.5-x86_64.tar.gz
mv mysql-5.7.18-linux-glibc2.5-x86_64/ mysql
mkdir /data #在/下另外建立一个存放数据的目录
cd /usr/local
chown -R mysql:mysql mysql/
chmod -R 755 mysql/
chown -R mysql:mysql /data
chmod -R 755 data/
配置配置文件
cd /usr/local/mysql
vim my.cnf
[mysqld]
user=mysql
port=3316 #指定端口,防止和本地3306数据库冲突
basedir=/usr/local/mysql
datadir=/data
socket=/usr/local/mysql/mysql.sock #(第一次不能指定socket的位置,文件找不到会报错,先启动一起修改在重启,才能修改位置)
指定启动后socket文件的生成路径,作用是让客户端程序mysql与mysql服务器端程序mysqlserver处于同一台机器,发起本地连接时可用
然后对数据库进行初始化,可以拿到初始密码进行登录:
cd /usr/local/mysql/bin
./mysqld --defaults-file=/usr/local/mysql/mysql/my.cnf --user=mysql --basedir=/usr/local/mysql --datadir=/data –initialize
然后用启动守护进程的方式启动mysql放入后台(要指定配置文件)
./mysqld_safe --defaults-file=/usr/local/mysql/my.cnf --user=mysql --basedir=/usr/local/mysql --datadir=/data/ 2>&1 &
注意:第一次启动的时候不能添加socket文件存放路径,会报错,默认是去/tmp下创建socket文件,启动后可以修改
socket路径,然后重启
由于修改了socket文件路径(默认是读取/tmp/mysql.socket文件),所以使用/usr/local/mysql/bin/下命令都要指定socket文件路径,例如首次登录修改密码:
./mysql -S /usr/local/mysql/mysql.socket -uroot -pMCUEiDIkH1\/M
mysql> alter user 'root'@localhost identified by 'mysql';
mysql> exit;
尝试用密码重新登录:
./mysql -S /usr/local/mysql/mysql.socket -uroot -pmysql #可以通过建库建表测试一下数据库是否可用
然后通过修改脚本,可以更好管理mysql服务:
cd /usr/local/mysql/support-files/
vim mysql.server
46 basedir=/usr/local/mysql #这两项默认为空的,程序后面默认的路径为/usr/local/mysql/
47 datedir=/data #默认的路径为/usr/local/mysql/data
63 mysqld_pid_file_path=/data/host-主机名.pid #默认去/usr/local/mysql/data这个路径下找,故而要指定路径
267 $bindir/mysqld_safe --defaults-file=/usr/local/mysql/my.cnf #在这命令 'start'下找,启动指定配置文件
然后就可以使用:./mysql.server start|stop|restart|status 管理数据库了
可以将重启数据库命令做成服务命令:
ln -s /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql2 #注意这里不能和原有数据库的启动命令一样
这样就可以使用service mysql2 start|stop|restart
ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql-2 #做个软链接,将安装目录下的mysql 放在/usr/bin 目录下,这样可以直接当系统命令使用
如果不做这操作,对第二个数据的操作必须切换到相应的目录下使用命令
测试说明:如果不指定端口修改配置文件的话,一路解压下来初始化启动使用即可
如果安装路径在/usr/local/mysql/,data也在这个目录下,由于两个数据库端口不一样,my.cnf文件路径不一样了,要修改mysql.server里面的267行指定文件启动
如果安装路径在/usr/local/mysql/,data随意创建目录,则按照上面修改
注意:本次安装mysql在/usr/local/下,放在其他目录下,初始化出错。(这里暂未知道报错什么原因,暂时没有找到解决方法)
写得很白话,看了很多博文,照着做不行,最后还是自己一点一滴慢慢测试部署出来的,主要用于记录笔记(如有错误,不吝赐教)
Linux 安装 Mysql - tar包 - 风过无痕521 - 博客园
mysql>
mysql> alter user 'root'@localhost identified by 'abMsql@2021'; #设置无密码登录,改密码报错
ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement
mysql> flush privileges; #刷新权限即可
Query OK, 0 rows affected (0.00 sec)
mysql>
mysql> alter user 'root'@localhost identified by 'abMsql@2021';
Query OK, 0 rows affected (0.00 sec)
命令详解:grant 权限 on 数据库.* to 用户名@登录主机 identified by “密码”;
GRANT ALL PRIVILEGES ON ambari.* TO 'ambari'@'%';