centos mysql权限,centos官网
各位老铁们,大家好,今天由我来为大家分享centos mysql权限,以及centos官网的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始吧!
CentOS 7 离线安装 MySQL
在CentOS 7中,若要离线安装MySQL,首先需要移除系统预装的MariaDB,以确保纯净的环境。执行以下步骤:
1.检查系统中是否已安装MariaDB,如果有,使用命令卸载:
<code>sudo yum remove MariaDB-server MariaDB-client</code>
2.接着,检查MySQL用户和组是否已存在。若不存在,创建它们:
<code>sudo useradd-r mysql&& sudo groupadd mysql&& sudo usermod-aG mysql mysql</code>
3.转至下载页面获取离线安装包:<a href="">MySQL官方网站下载页面,选择合适的版本,然后下载tar.gz文件。
4.将下载的包上传到服务器,解压缩并重命名安装目录,如:<code>sudo tar-xvf mysql-5.7.25.tar.gz&& sudo mv mysql-5.7.25 mysql_install
5.将目录权限调整为所有用户组所有:
<code>sudo chown-R mysql:mysql mysql_install</code>
6.创建MySQL的启动配置文件my.cnf,以定义安装细节。
7.进入MySQL文件夹,执行安装命令:<code>cd mysql_install&& sudo./scripts/mysql_install_db--user=mysql--ldata=/var/lib/mysql--basedir=.
8.配置MySQL为开机自启动:<code>sudo systemctl enable mysqld
9.设置环境变量,让系统能够识别MySQL安装路径:<code>sudo vi/etc/profile,添加MySQL路径,然后执行source命令使更改生效。
10.完成安装后,安全起见,请修改初始密码并配置远程访问权限,以满足应用需求。
linux(Centos7.4)下安装mysql8.0.26离线安装教程图解
在Linux系统(如Centos7.4)下安装MySQL8.0.26,需要按照以下步骤操作:
首先,创建一个名为mysql的文件夹。
执行命令:`cd/usr/local&& mkdir mysql`
然后,从指定地址下载MySQL资源完整包,并上传至/usr/local/mysql目录。
点击下载链接,下载资源。
接着,解压下载的资源包,命令如下:
执行`tar-xvf mysql-8.0.26-1.el7.x86_64.rpm-bundle.tar`
解压完成后,执行命令查询本地是否存在已安装的MySQL包或卸载已存在的MySQL。
运行`rpm-qa| grep mariadb`命令查询,若有已安装包,使用`rpm-e mariadb-libs-5.5.56-2.el7.x86_64--nodeps`命令卸载。
接下来,安装MySQL。
依次执行以下命令:
`rpm-ivh mysql-community-common-8.0.26-1.el7.x86_64.rpm`
`rpm-ivh mysql-community-client-plugins-8.0.26-1.el7.x86_64.rpm`
`rpm-ivh mysql-community-libs-8.0.26-1.el7.x86_64.rpm`
`rpm-ivh mysql-community-client-8.0.26-1.el7.x86_64.rpm`
完成安装后,启动MySQL服务,使用命令`systemctl status mysqld`检查服务状态。
若需要停止服务,则执行`service mysqld stop`。
初始化数据库时,确保没有/var/lib/mysql目录,若存在需删除,执行`rm-rf/var/lib/mysql`。
执行`mysqld--initialize--console--lower-case-table-names=1`完成数据库初始化。
编辑配置文件/etc/my.cnf,添加`lower-case-table-names=1`内容。
赋予MySQL权限:`chown-R mysql:mysql/var/lib/mysql/`。
启动MySQL服务,命令为`systemctl start mysqld`。
进行数据库操作。
获取初始密码,通过查看`/var/log/mysqld.log`日志文件中密码信息。
修改密码,登录MySQL:`mysql-uroot-p`,然后执行`ALTER USER'root'@'%' IDENTIFIED WITH mysql_native_password BY'123@admin';`。
更新用户访问限制,使用命令`use mysql; UPDATE USER SET host="%" where user="root";`。
刷新权限,执行`flush privileges;`。
退出MySQL,使用`exit`命令。
最后,开启MySQL服务的自动启动,使用命令`systemctl enable mysqld.service`。
若需要关闭自动启动功能,执行`systemctl disable mysqld.service`。
求助centos7,mysql 启动服务出错的问题
一、my.cnf配置文件datadir项配置错误或被启动脚本篡改
这个问题不太说讲,主要是mysql自带的启动文件(/etc/init.d/mysqld)中会自动检测mysql的数据存储目录,若mysql新装,尚未初始化系统表,那么配置文件中的datadir项写不写无所谓,出现这种情况主要是在更改了mysql的数据存储目录,今天我出现的这个问题就在于此。
我的mysql安装后的配置文件中关于datadir项目的配置如下,而该配置文件存储于/etc/my.cnf,今儿不知动了什么东西,查来查去都没找着原因,后来打开该配置文件才发现,其中的datadir项目被篡改成/var/mysql/data了.....
[mysqld] datadir=/data/mysql socket=/tmp/mysql.sock user=mysql
二、进程里已经存在mysql进程
这种情况我很少遇到,若存在mysql进程但有不提供mysql服务(表现为其他客户端连接不上mysql服务器,例如php连接mysql时提示“连接失败”),这个时候就要看看有没有存在的mysql僵尸进程了,命令如下:
ps-ef|grep mysql
若存在,该命令执行后会列出存在的僵尸进程,kill-9 `pid`掉即可。
三、mysql的数据存储目录权限不足
这种情况发生于mysql第一次安装或升级,配置文件中的datatdir目录的权限要设定好,一般来说运行mysql的用户以及组就是mysql.mysql,那么解决权限不足问题的方法如下:
chown-R mysql.mysql/data/mysql##该命令仅为示例,其中/data/mysql就是mysql配置文件中datadir的目录##若为空,则默认为mysql安装目录下的data文件夹下
四、覆盖安装或升级mysql后,残余数据的影响
这种情况发生于mysql被覆盖安装或升级后,当然mysql无故宕机后也会有这种情况,可能会影响mysql启动的数据文件,一般存在于mysql的数据存储目录(这个目录依据my.cnf配置文件中的datadir而异),也就是存在于mysql数据存储目录下的mysql-bin.index文件,删除之即可。
五、selinux的问题,centos下最容易出现
selinux不甚了解,直接关掉。
##方法1:永久关闭seliux##修改 vi/etc/selinux/config#文件中设置SELINUX=disabled,然后重启服务器##方法2:暂时关闭seliux setenforce 0##如需每次开机都铃声关闭seliux,则可以在/etc/rc.d/rc.local文件中添加该命令
六、mysql运行状态下删除binary日志后重启失败
这是今天在群里的一个朋友出现的,特汇总于此;当mysql开启了二进制日志并且mysql在运行状态下用rm命令删除过mysql的binary日志文件的话,下次重启mysql你就悲剧了。
什么是binary日志?说白了就是mysql的数据目录下的mysql-bin.000001、mysql-bin.000002的文件。
解决方法就是修改配置文件临时关闭binary-log,然后删除mysql数据目录下的所有类似mysql-bin.000001、mysql-bin.000002的文件后再次重启,mysql即可启动成功。
#mysql配置关闭二进制日志找到如下语句注释掉即可#log-bin=mysql-bin#binlog_format=mixed
此步骤操作完毕之后,若还需要启用二进制日志,那么就要先停掉mysql服务,然后修改msyql的配置文件,再次重启即可。
另外再附上正确删除mysql二进制日志文件的方法(绝对不是rm-rf命令直接删这些文件):
#第一步通过shell或cmd登录进mysql这步没什么好说的 msyql-u root-p***#第二步在mysql下直接执行清理binary日志命令 mysql> reset master#注意:此处仅针对单台mysql而言,若有互备mysql则执行该命令有风险。