当前位置: 首页 > Linux

在Linux上安装MariaDB(MySQL)数据库(最新版)

时间:2023-04-06 04:19:29 Linux

前言最近云服务器过期了,前几天刚买了最新款的树莓派,打算在家里搭建一个小服务器,用来编程测试。在配置MariaDB的时候,发现和之前的方法有些变化,现整理到本文中。这里模拟的是在远程服务器上配置MariaDB。如果是本地安装,可以自己选择以下步骤。具体步骤如下:第一步是通过SSH登录远程服务器。具体步骤请参考在Mac上通过SSH登录远程服务器。第二步,通过apt或yum安装MariaDB。这里我们以apt为例(安装方法取决于你的Linux系统和你的使用习惯)sudoapt-getupdate//先更新系统,不更新的时候有时会报错sudoapt-getinstallmariadb-server//更新完成后,安装mariadb-server配置,执行如下代码进行相关配置sudomysql_secure_installation//注意要以管理员权限执行,首先提示输入数据库root用户密码Entercurrentpasswordforroot(enterfornone):<–第一次输入回车设置密码设置root密码?[Y/n]<–是否设置root用户密码,输入y回车或直接回车Newpassword:<–SetPasswordofrootuserRe-enternewpassword:<–re-enterthesetpassword其他配置删除匿名用户?[Y/n]<–是否删除匿名用户Disallowroot远程登录?[Y/n]<–是否禁止root远程登录移除测试数据库并访问?[Y/n]<–是否删除测试数据库Reload权限表?[Y/n]<–是否重新加载权限表当然你也可以通过以下方式修改root密码:$sudomysql-uroot//回车,出现如下文字,表示登录是成功的。欢迎使用MariaDB监视器。命令以;结尾或\g。您的MariaDB连接ID是13Server版本:10.1.37-MariaDB-0+deb9u1Raspbian9.0版权所有(c)2000、2018、Oracle、MariaDBCorporationAb和其他。键入“帮助;”或'\h'f或帮助。输入'\c'清除当前输入语句MariaDB[(none)]>然后修改密码MariaDB[(none)]>usemysql;MariaDB[mysql]>UPDATEuserSETplugin='mysql_native_password'WHEREuser='根';//认证插件MariaDB[mysql]>UPDATEuserSETpassword=PASSWORD('yourrootpassword')WHEREuser='root';//设置密码MariaDB[mysql]>flushprivileges;//刷新配置权限MariaDB[mysql]>exit;//exit需要注意的是,上面的sql语句末尾一定要加分号,然后重启服务是可能的。当然也可以使用root用户进行配置,但是不推荐使用root用户。注意下面的步骤都是用root账号登录,并赋予新用户权限//用root账号登录数据库。回车后,输入数据库root账户的密码,也就是我们上面sudomysql-uroot-p创建用户并赋予权限MariaDB[(none)]>CREATEUSER'用户名'@'设置的密码host'IDENTIFIEDBY'password';示例:创建用户'jimmy'@'%'IDENTIFIEDBY'123456';参数说明usernamehost创建用户的用户名host指定用户可以登录的主机,本地用户可以使用localhost,如果你希望用户可以从任何远程主机登录,可以使用通配符%password登录用户密码。密码可以为空。如果为空,则用户无需密码即可登录服务器。GRANTALLPRIVILEGESONdatabasename.tablenameTO'username'@'host'IDENTIFIEDBY'123456'WITHGRANTOPTION;示例:MariaDB[(none)]>GRANTALLPRIVILEGESON*.*TO'jimmy'@'%'IDENTIFIEDBY'123456'WITHGRANTOPTION;//也可以省略,因为MariaDB[(none)]>GRANTALLPRIVILEGESON*.*TO'jimmy'@'%';该参数描述了权限用户的操作权限,如SELECT、INSERT、UPDATE等。如果要授予所有权限,请使用ALLdatabasename数据库名称。如果要授予用户对所有数据库和表的相应操作权限,可以用*表示,如*.*tablename表名,如果要授予用户对所有数据库和表的操作权限。对应的操作权限可以用*表示,比如*.*然后刷新上面设置MariaDB[(none)]>flushprivileges;总的例子:$mysql-uroot-p$输入密码MariaDB[(none)]>CREATEUSER'jimmy'@'%'IDENTIFIEDBY'123456';MariaDB[(none)]>GRANTALLPRIVILEGESON*.*TO'jimmy'@'%'IDENTIFIEDBY'123456'WITHGRANTOPTION;MariaDB[(none)]>flushprivileges;MariaDB[(无)]>退出;配置远程访问注意:老版本修改了/etc/mysql/my.cnf文件的相关内容,新版本没有这个文件,需要修改新版本的服务器/etc/mysql/mariadb.conf.d/50-server.cnf这个文件。$sudovim/etc/mysql/mariadb.conf.d/50-server.cnf#注释掉bind-address#或者把127.0.0.1的值改成0.0.0.0$systemctlrestartmariadb//重启服务Others检查数据库服务器进程是否正在运行:servicemariadbstatus查看MariaDB运行的端口://在数据库登录状态MariaDB[(none)]>SHOWGLOBALVARIABLESLIKE'port';+---------------+--------+|变量名|值|+----------------+------+|港口|3306|+--------------+--------+1rowinset(0.004sec)MariaDB[(none)]>Managementservices显示服务状态:systemctlstatusmariadb.service在启动时启用服务:systemctlenablemariadb.service在启动时禁用服务:systemctldisablemariadb.service