MariaDB & MySQL 的安装配置

Mysql创建及删除用户命令

MariaDB安装方法图文详解

Tips: MariaDB 新版本没有ini 配置文件了
win10运行MariaDB

The default root password is blank (i.e. empty string) not root. So you can just login as:

mysql -u root

You should obviously change your root password after installation

mysqladmin -u root password [newpassword]

In most cases you should also set up individual user accounts before working extensively with the DB as well.

下载

MariaDB

https://downloads.mariadb.org/

MySQL

http://dev.mysql.com/downloads/mysql/

下拉菜单【Select Platform:】
MS windows
ubuntu linux
debian linux
FreeBSD
...
SourceCode等等

我是下载的这个Windows 64bits

下面是一些文档相关
http://www.mysql.com/downloads/
http://dev.mysql.com/doc/refman/5.7/en/installing.html

2.1 General Installation Guidance
2.2 Installing MySQL on Unix/Linux Using Generic Binaries
2.3 Installing MySQL on Microsoft Windows
2.4 Installing MySQL on OS X
2.5 Installing MySQL on Linux
2.6 Installing MySQL Using Unbreakable Linux Network (ULN)
2.7 Installing MySQL on Solaris and OpenSolaris
2.8 Installing MySQL on FreeBSD
2.9 Installing MySQL from Source
2.10 Postinstallation Setup and Testing
2.11 Upgrading or Downgrading MySQL
2.12 Environment Variables
2.13 Perl Installation Notes


安装

安装的话,默认有配置文件,

windows 是my.ini (安装目录下my-default.ini 改过来)

# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html
# *** DO NOT EDIT THIS FILE. It's a template which will be copied to the
# *** default location during install, and will be replaced if you
# *** upgrade to a newer version of MySQL.
[mysqld]
# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M
# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin
# These are commonly set, remove the # and set as required.
# 设置mysql的安装目录
basedir = D:\Program Files\mysql-5.7.10-winx64
# 设置mysql数据库的数据的存放目录
datadir = D:\Program Files\mysql-5.7.10-winx64\data
#绑定IPv4和3306端口
# bind-address = 0.0.0.0
port = 3306
#这个是默认数字,别用字符,字符串, 主从机器,或者分布式机器,就用这个来区分机器
server_id = 10
#服务端字符类型,建议utf8
character_set_server=utf8
# 允许最大连接数
max_connections=200
# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
[WinMySQLAdmin]
Server=D:\Program Files\mysql-5.7.10-winx64\bin\mysqld.exe
#下面是客户端,默认不用添加
#[client]
#port=3306
#客户端字符类型,与服务端一致就行,建议utf8
#default-character-set=utf8

设置环境变量

MARIADB = yourPath\\bin
Path中添加 ;%MARIADB%;

打开CMD,输入mysql -u root -p 以root用户登录,然后设置权限。

mysql -p 65534 -u root -p`指定用哪个端口,开启mysql服务。

=====================

转自 mysql下如何执行sql脚本

首要步骤(一般可省略):
开启mysql服务(默认是开机时就自动运行了):
控制面板-->管理工具-->服务,在里面找到名称为mysql的项,双击就可看它的服务状态是启动还是停止,把它设为启动

连接mysql:
在命令行下输入 mysql -h localhost -u root -p回车,然后输入密码即可;或直接运行mysql自带的连接工具,然后输入密码即可.

1.编写sql脚本,假设内容如下:

create database dearabao;
use dearabao;
create table niuzi (name varchar(20));

保存脚本文件,假设我把它保存在F盘的hello world目录下,于是该文件的路径为:F:\hello world\niuzi.sql

2.执行sql脚本,可以有2种方法:
第一种方法:
在命令行下(未连接数据库),输入 mysql -h localhost -u root -p123456 < F:\hello world\niuzi.sql (注意路径不用加引号的!!) 回车即可.
第二种方法:
在命令行下(已连接数据库,此时的提示符为 mysql> ),输入 source F:\hello world\niuzi.sql (注意路径不用加引号的) 或者 . F:\hello world\niuzi.sql (注意路径不用加引号的) 回车即可

我mysql没有设置密码。直接打开CMD,输入mysql,进入mysql命令行状态。输入source E:\123.sql

====================

CREATE USER 'myusername'@'%' IDENTIFIED BY 'mypassword';
GRANT ALL ON *.* TO 'myusername'@'%';

参考MariaDB(MySQL)的常用命令1 【检索数据】


linux 下的配置文件 my.cnf (路径是/etc/mysql/my.cnf)

server-system-variables 介绍

scott@ubuntu:/etc/mysql$ cat my.cnf
#
# The MySQL database server configuration file.
#
# You can copy this to one of:
# - "/etc/mysql/my.cnf" to set global options,
# - "~/.my.cnf" to set user-specific options.
#
# One can use all long options that the program supports.
# Run program with --help to get a list of available options and with
# --print-defaults to see which it would actually understand and use.
#
# For explanations see
# http://dev.mysql.com/doc/mysql/en/server-system-variables.html
# This will be passed to all mysql clients
# It has been reported that passwords should be enclosed with ticks/quotes
# escpecially if they contain "#" chars...
# Remember to edit /etc/mysql/debian.cnf when changing the socket location.
[client]
port = 3306
socket = /var/run/mysqld/mysqld.sock
# Here is entries for some specific programs
# The following values assume you have at least 32M ram
# This was formally known as [safe_mysqld]. Both versions are currently parsed.
[mysqld_safe]
socket = /var/run/mysqld/mysqld.sock
nice = 0
[mysqld]
#
# * Basic Settings
#
user = mysql
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
port = 3306
basedir = /usr
datadir = /var/lib/mysql
tmpdir = /tmp
lc-messages-dir = /usr/share/mysql
skip-external-locking
#服务端字符类型,建议utf8
character_set_server=utf8
#
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
# bind-address = 127.0.0.1
#
# * Fine Tuning
#
key_buffer = 16M
max_allowed_packet = 16M
thread_stack = 192K
thread_cache_size = 8
# This replaces the startup script and checks MyISAM tables if needed
# the first time they are touched
myisam-recover = BACKUP
#max_connections = 100
#table_cache = 64
#thread_concurrency = 10
#
# * Query Cache Configuration
#
query_cache_limit = 1M
query_cache_size = 16M
#
# * Logging and Replication
#
# Both location gets rotated by the cronjob.
# Be aware that this log type is a performance killer.
# As of 5.1 you can enable the log at runtime!
#general_log_file = /var/log/mysql/mysql.log
#general_log = 1
#
# Error log - should be very few entries.
#
log_error = /var/log/mysql/error.log
#
# Here you can see queries with especially long duration
#log_slow_queries = /var/log/mysql/mysql-slow.log
#long_query_time = 2
#log-queries-not-using-indexes
#
# The following can be used as easy to replay backup logs or for replication.
# note: if you are setting up a replication slave, see README.Debian about
# other settings you may need to change.
#server-id = 1
#log_bin = /var/log/mysql/mysql-bin.log
expire_logs_days = 10
max_binlog_size = 100M
#binlog_do_db = include_database_name
#binlog_ignore_db = include_database_name
#
# * InnoDB
#
# InnoDB is enabled by default with a 10MB datafile in /var/lib/mysql/.
# Read the manual for more InnoDB related options. There are many!
#
# * Security Features
#
# Read the manual, too, if you want chroot!
# chroot = /var/lib/mysql/
#
# For generating SSL certificates I recommend the OpenSSL GUI "tinyca".
#
# ssl-ca=/etc/mysql/cacert.pem
# ssl-cert=/etc/mysql/server-cert.pem
# ssl-key=/etc/mysql/server-key.pem
[mysqldump]
quick
quote-names
max_allowed_packet = 16M
[mysql]
#no-auto-rehash # faster start of mysql but no tab completition
[isamchk]
key_buffer = 16M
#
# * IMPORTANT: Additional settings that can override those from this file!
# The files must end with '.cnf', otherwise they'll be ignored.
#
!includedir /etc/mysql/conf.d/


一. 创建用户:

命令:CREATE USER 'username'@'host' IDENTIFIED BY 'password';

说明:username - 你将创建的用户名, host - 指定该用户在哪个主机上可以登陆,如果是本地用户可用localhost, 如果想让该用户可以从任意远程主机登陆,可以使用通配符%. password - 该用户的登陆密码,密码可以为空,如果为空则该用户可以不需要密码登陆服务器.

例子: CREATE USER 'username'@'localhost' IDENTIFIED BY '123456';
CREATE USER 'username'@'192.168.1.101_' IDENDIFIED BY '123456';
CREATE USER 'username'@'%' IDENTIFIED BY '123456';
CREATE USER 'username'@'%' IDENTIFIED BY '';
CREATE USER 'username'@'%';

二.授权:

命令:GRANT privileges ON databasename.tablename TO 'username'@'host'

说明: privileges - 用户的操作权限,如SELECT , INSERT , UPDATE 等(详细列表见该文最后面).如果要授予所的权限则使用ALL.;databasename - 数据库名,tablename-表名,如果要授予该用户对所有数据库和表的相应操作权限则可用表示, 如.*.

例子: GRANT SELECT, INSERT ON test.user TO 'username'@'%';
GRANT ALL ON . TO 'username'@'%';

注意:用以上命令授权的用户不能给其它用户授权,如果想让该用户可以授权,用以下命令:
GRANT privileges ON databasename.tablename TO 'username'@'host' WITH GRANT OPTION;

三.设置与更改用户密码

命令:SET PASSWORD FOR 'username'@'host' = PASSWORD('newpassword');如果是当前登陆用户用SET PASSWORD = PASSWORD("newpassword");

例子: SET PASSWORD FOR 'username'@'%' = PASSWORD("123456");

四.撤销用户权限

命令: REVOKE privilege ON databasename.tablename FROM 'username'@'host';

说明: privilege, databasename, tablename - 同授权部分.

例子: REVOKE SELECT ON . FROM 'username'@'%';

注意: 假如你在给用户'username'@'%'授权的时候是这样的(或类似的):GRANT SELECT ON test.user TO 'username'@'%', 则在使用REVOKE SELECT ON . FROM 'username'@'%';命令并不能撤销该用户对test数据库中user表的SELECT 操作.相反,如果授权使用的是GRANT SELECT ON . TO 'username'@'%';则REVOKE SELECT ON test.user FROM 'username'@'%';命令也不能撤销该用户对test数据库中user表的Select 权限.

具体信息可以用命令SHOW GRANTS FOR 'username'@'%'; 查看.

五.删除用户

命令: DROP USER 'username'@'host';

附表:在MySQL中的操作权限

ALTER
Allows use of ALTER TABLE.
ALTER ROUTINE
Alters or drops stored routines.
CREATE
Allows use of CREATE TABLE.
CREATE ROUTINE
Creates stored routines.
CREATE TEMPORARY TABLE
Allows use of CREATE TEMPORARY TABLE.
CREATE USER
Allows use of CREATE USER, DROP USER, RENAME USER, and REVOKE ALL PRIVILEGES.
CREATE VIEW
Allows use of CREATE VIEW.
DELETE
Allows use of DELETE.
DROP
Allows use of DROP TABLE.
EXECUTE
Allows the user to run stored routines.
FILE
Allows use of SELECT... INTO OUTFILE and LOAD DATA INFILE.
INDEX
Allows use of CREATE INDEX and DROP INDEX.
INSERT
Allows use of INSERT.
LOCK TABLES
Allows use of LOCK TABLES on tables for which the user also has SELECT privileges.
PROCESS
Allows use of SHOW FULL PROCESSLIST.
RELOAD
Allows use of FLUSH.
REPLICATION
Allows the user to ask where slave or master
CLIENT
servers are.
REPLICATION SLAVE
Needed for replication slaves.
SELECT
Allows use of SELECT.
SHOW DATABASES
Allows use of SHOW DATABASES.
SHOW VIEW
Allows use of SHOW CREATE VIEW.
SHUTDOWN
Allows use of mysqladmin shutdown.
SUPER
Allows use of CHANGE MASTER, KILL, PURGE MASTER LOGS, and SET GLOBAL SQL statements. Allows mysqladmin debug command. Allows one extra connection to be made if maximum connections are reached.
UPDATE
Allows use of UPDATE.
USAGE
Allows connection without any specific privileges.
posted @   scott_h  阅读(758)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示