Linux普通用户安装配置mysql(非root权限)
说明:在实际工作中,公司内网的机器我们一般没有root权限,也没有连网,最近参考网上的资料使用一般的账户成功安装mysql,记录如下
Linux版本:RedHat CentOs
Mysql版本:5.7.29
使用的一般用户名:apps
一、下载安装包
进入mysql官网下载社区通用版 MySQL Community Server,不清楚系统多少位的,执行以下命令查看
$ cat /proc/version #查看系统版本等信息
二、解压安装包
mysql下载完成后上传到当前普通用户目录下解压,依次执行以下命令
$ tar -zxvf mysql-5.7.29-linux-glibc2.12-x86_64.tar.gz #解压文件包
$ mv mysql-5.7.29-linux-glibc2.12-x86_64 /home/apps/mysql #移动到指定目录并重命名
编辑my.cnf配置文件,放在当前mysql安装目录下,依次执行以下命令
$ cd mysql #进入安装目录
$ vim my.cnf #编辑配置文件
编辑my.cnf文件,我这里mysql的路径是/home/apps/mysql
,需根据自己的路径进行修改
[client]
port=3306 #服务端口
socket=/home/apps/mysql/mysql.sock #指定套接字文件
[mysqld]
port=3306 #服务端口
basedir=/home/apps/mysql #mysql安装路径
datadir=/home/apps/mysql/data #数据目录
pid-file=/home/apps/mysql/mysql.pid #指定pid文件
socket=/home/apps/mysql/mysql.sock #指定套接字文件
log_error=/home/apps/mysql/error.log #指定错误日志
server-id=100 #Mysql主从唯一标识
三、安装启动mysql
安装:依次执行以下命令,指定配置文件安装并初始化mysql,没有报错即安装成功
$ cd bin
$ ./mysqld --defaults-file=/home/apps/mysql/my.cnf --initialize --user=apps --basedir=/home/apps/mysql --datadir=/home/apps/mysql/data #安装并初始化mysql
启动:依次执行以下命令,没有报错并能成功监听3306端口即表示启动成功
$ ./mysqld_safe --defaults-file=/home/apps/mysql/my.cnf --user=apps & #启动mysql
$ netstat -tln | grep 3306 #查看是否成功监听3306端口
四、登入mysql
获取初始密码,初始密码在error.log日志文件内,执行以下命令
$ cd ..
$ less error.log | grep root@localhost #查找root用户的初始登录密码
登录mysql,直接输入登录命令 bin/mysql -u root -p
有可能会报以下错
上图错误表示mysql没有找到/tmp/mysqk.sock
文件
有两种解决方法
如果本机上没有其他数据库,可以通过软连接方式将寻找sock文件的路径指向我们mysql安装目录下的sock文件
也可以直接指定mysql.sock文件启动,执行以下命令:
$ ./mysql -u root -p -S /home/apps/mysql/mysql.sock #指定sock文件登录
成功登入mysql后,修改登录密码,执行以下sql语句
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('123456'); --设置登录密码为123456
flush privileges;
五、开启远程访问
使用第三方工具连接mysql数据库时,需要提前开启mysql的远程访问限制,执行以下sql语句
use mysql --切换至mysql数据库
select User,authentication_string,Host from user; --查看用户认证信息
查表后可以看到都是localhost的访问权限
修改权限,允许其他地址的主机访问mysql,这里密码是123456,实际根据自己的来,%代表所有主机,也可以具体到ip地址
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456'; --允许其他主机访问
flush privileges;
再次查表可以发现多了个用户,表示成功开启远程访问,可以使用工具远程连接
select User,authentication_string,Host from user
至此,我们的mysql就算安装完成了