mariadb安装连接

下载mariadb数据库

1
sudo pacman -S mariadb

初始化安装mariadb

1
mysql_install_db --user=mysql --basedir=/usr --datadir=/var/lib/mysql
1
2
3
4
5
6
7
8
#输出信息
Installing MariaDB/MySQL system tables in '/var/lib/mysql' ...
#初始化生成两个用户root,mysql,连接都不需要密码
Two all-privilege accounts were created.
#root user连接需要成为root用户
One is root@localhost, it has no password, but you need to be system 'root' user to connect.
#mysql user连接需要成为mysql用户,可以将当前用户加入mysql用户组
The second is mysql@localhost, it has no password either, but you need to be the system 'mysql' user to connect.

开启mysql服务

1
sudo systemctl start mysqld

终端以root用户去启动mariadb

1
2
3
su
mysql -u root -p
#不需要输入密码,回车就行

查看数据库默认用户和密码

默认用户和密码存在mysql数据库的user表中

1
2
3
show databases;
use mysql;
select user,host,password from user;

建立新用户并赋予权限,刷新权限

1
2
3
4
5
create user 'jc'@'localhost' identified by 'dvezmei';
grant all privileges on ×.* to 'jc'@'localhost';
#所有权限用all,所有数据库用 *.* 所有的ip用%,但是为了安全不会使用%,而是指定ip或者只指定本机ip(localhost)
#grant all privileges on ×.* to 'jc'@'%';--不建议这么使用
flush privileges;

更新密码

如果忘记密码,或者需要设置root密码。使用普通命令更新密码会报错

1
2
update user set password=PASSWORD('123456') where user='root';
ERROR 1348 (HY000): Column 'Password' is not updatable
1
2
3
4
5
#官方使用的方法是:需要使用如下命令去更新root密码或者用户密码
GRANT ALL PRIVILEGES ON *.* TO 'YourUserName'@'ip' IDENTIFIED BY "YourPassword";
#ip可以选择localhost,或者其他运行连接的远程ip地址
#更新权限,然后重新连接数据库
flush privileges;

安装dbeaver软件

1
sudo pacman -S dbeaver

使用软件连接mariadb

用户名输入新建立的jc


关闭mariadb与dbeaver更新

由于数据库不需要经常更新,所以关闭其更新

1
2
3
vim /etc/pacman.conf
#在IgnoreGroup 后添加需要忽略更新的软件包
IgnoreGroup = mariadb dbeaver

创建数据库以及插入数据

1
2
3
4
5
6
7
8
9
10
11
12
13
show databases;
#如果数据中有中文的话需要设置中文字符集,否则中文数据无法插入
create database mytestdb default CHARACTER set utf8;
use mytestdb;
show tables;
create table student(
name varchar(20),
age int(20)
);
select * from student;
insert into student values('李白',20);
insert into student values('杜甫',18);
insert into student values('李清照',25);