I want to give it 및 사용자에게 MySQL 데이터베이스, 새로 만들 수 있는 ',' 내가 한 전체 액세스만 말하도다 드바티스트 만들기 ',' 드바티스트 명령을 사용하여 데이터베이스 만들기 등. 어떤 약간만이라도 mysql 명령의세 이런 거야?
이 시도하시겠습니까 만듭다 사용자:
CREATE USER 'user'@'hostname';
이 데이터베이스에 드바티스트 시도하시겠습니까 전달자로써 액세스하도록 '':
GRANT ALL PRIVILEGES ON dbTest.* To 'user'@'hostname' IDENTIFIED BY 'password';
Mysql 같은 시스템에서 실행할 경우 사이트 액세스하면 코드 / hostname 약간만이라도 로컬호스트.
이제 break down.
이 명령은 허가합니다 '-' 를 만드는 데 사용되는 사용자 권한 부여 및 데이터베이스, 테이블, etc.
이 모든 권한을 갖게 될 것이라고 '-' 이 모든 표준 사용자 권한. 이 명령을 사용할 수 있는 권한을 부여 포함되어 있지 않은 실정이다.
이 명령을 사용할 수 있는 '-' 이 권리를 적용하십시오 전체 드바티스트 dbtest. MySQL 데이터베이스. 원하는 경우 특정 테이블 이름 또는 작성하든지 루틴을 사용하여 바꿀 수 있습니다.
'을 & # 39, & # 39, hostname& @& user& # 39, # 39,' - # 39 user& # 39;; 는 sername 사용자 계정을 생성할 수 있습니다. 참고: 따옴표 안에 있어야 합니다. # 39, & # 39 hostname&. 방금 어떤 호스트에서는 MySQL 에서 사용자가 접속할 수 있다. 이 같은 시스템을 사용할 경우에만 로렌아줌마가 로컬호스트 '에서'
Mysql 사용하여 만들 수 있는 이상, 사용자 / 는 '사용자' 구문을 만들 5.7.6.
CREATE USER 'new_user'@'localhost' IDENTIFIED BY 'new_password';
그리고 모든 액세스하려면 부여하십시오 사용하여 데이터베이스 (예를 들어 'my_db') '' 구문을 허가합니다 (예:
GRANT ALL ON my_db.* TO 'new_user'@'localhost';
< sup>, 여기서 ',' ( priv_type ) '등 특정 권한을 모두 대체할 수 있다', '선택', ',', ',' 변경하십시오 삽입하십시오 업데이트하십시오 etc.< /sup>.
그럼 새로 지정된 권한을 리로드하려면 실행하십시오:
FLUSH PRIVILEGES;
Mysql '명령을 명령 위에 실행하십시오 실행해야 하는 경우' 에 의해 '또는' 명령 프롬프트에서 입력할 및 어졌다면 로그아웃 < kbd> Ctrl<;;;; - < 끝냅니다끝내기 /kbd> D< /kbd> kbd>;;).
E ',' 에서 실행되도록 쉘로 사용하여 매개변수입니다 (굈 '선택' 을 (를) 중 1 위 명령의세):
$ mysql -e "SELECT 1"
또는 진술을 인쇄하십시오 표준 입력:
$ echo "FOO STATEMENT" | mysql
, 와 # 39 위, 've got you& 액세스가 거부되었습니다 지정할 경우' 와 'p (암호) -u (사용자)' 에서 '설정' ~ /.my.cnf 크레덴셜을 매개변수입니다 충족하거나, 장기 액세스 (예:
[client]
user=root
password=root
익숙하지 않은 사람들을 위한 구문, 여기에서는 MySQL 쉽게 기억할 수 있는 기능을 편리하게 쉘로 및 사용 (필요한 기능을 사용하려면, 읽어들입니다 쉘로 자세히 포함).
다음은 예:
$ mysql-create-user admin mypass
| CREATE USER 'admin'@'localhost' IDENTIFIED BY 'mypass'
$ mysql-create-db foo
| CREATE DATABASE IF NOT EXISTS foo
$ mysql-grant-db admin foo
| GRANT ALL ON foo.* TO 'admin'@'localhost'
| FLUSH PRIVILEGES
$ mysql-show-grants admin
| SHOW GRANTS FOR 'admin'@'localhost'
| Grants for admin@localhost
| GRANT USAGE ON *.* TO 'admin'@'localhost' IDENTIFIED BY PASSWORD '*6C8989366EAF75BB670AD8EA7A7FC1176A95CEF4' |
| GRANT ALL PRIVILEGES ON `foo`.* TO 'admin'@'localhost'
$ mysql-drop-user admin
| DROP USER 'admin'@'localhost'
$ mysql-drop-db foo
| DROP DATABASE IF EXISTS foo
위의 명령은 다음과 같은 기능을 사용할 수 있어야 합니다 copy& 붙여넣습니다 rc 를 , 파일 (예: '.bash_profile') 과 리로드하려면 너회의 쉘로 또는 소스 파일. 이 경우 그냥 .bash_profile 유형 '소스':
# Create user in MySQL/MariaDB.
mysql-create-user() {
[ -z "$2" ] && { echo "Usage: mysql-create-user (user) (password)"; return; }
mysql -ve "CREATE USER '$1'@'localhost' IDENTIFIED BY '$2'"
}
# Delete user from MySQL/MariaDB
mysql-drop-user() {
[ -z "$1" ] && { echo "Usage: mysql-drop-user (user)"; return; }
mysql -ve "DROP USER '$1'@'localhost';"
}
# Create new database in MySQL/MariaDB.
mysql-create-db() {
[ -z "$1" ] && { echo "Usage: mysql-create-db (db_name)"; return; }
mysql -ve "CREATE DATABASE IF NOT EXISTS $1"
}
# Drop database in MySQL/MariaDB.
mysql-drop-db() {
[ -z "$1" ] && { echo "Usage: mysql-drop-db (db_name)"; return; }
mysql -ve "DROP DATABASE IF EXISTS $1"
}
# Grant all permissions for user for given database.
mysql-grant-db() {
[ -z "$2" ] && { echo "Usage: mysql-grand-db (user) (database)"; return; }
mysql -ve "GRANT ALL ON $2.* TO '$1'@'localhost'"
mysql -ve "FLUSH PRIVILEGES"
}
# Show current user permissions.
mysql-show-grants() {
[ -z "$1" ] && { echo "Usage: mysql-show-grants (user)"; return; }
mysql -ve "SHOW GRANTS FOR '$1'@'localhost'"
}
참고: 싶은 떠나지 않을 경우 trace (비밀번호 등) 에 Bash 기록, 확인: [않도록 하는 방법을 명령의세 무산되었다 bash 기록 "] (https://stackoverflow.com/q/6475524/55075)
Mysql 로그인하십시오.
mysql -u root
이제 허가합니다 만들고
GRANT ALL PRIVILEGES ON dbTest.* To 'user'@'hostname' IDENTIFIED BY 'password';
그냥 무제한 액세스하도록 허가합니다 경우 전체, 또는 데이터베이스 (예를 들면 로컬 컴퓨터에서 테스트할 수 있는 경우에는 같은 익명 사용자를 허가합니다 액세스할 수 있습니다.
GRANT ALL PRIVILEGES ON dbTest.* To ''@'hostname'
이는 과태료를 정크 data-in 개발. # 39, 이렇게 아무 것도 없는 don& 신경습니까 함께 진행했다.
아래 새로 만드는 모든 사용자 명령은 작동합니까 스케쳐내 액세스하려면 줘야 특정 데이터베이스 (not all in your Mysql 데이터베이스 (db) 를 로컬호스트.
GRANT ALL PRIVILEGES ON test_database.* TO 'user'@'localhost' IDENTIFIED BY 'password';
이렇게 하면 모든 권한을 부여할 수 있는 'test_database' (네 경우엔 '드바티스트') 를 하나의 데이터베이스 사용자에 대한 로컬호스트.
해당 사용자가 어떤 명령을 실행할 수 있는 권한) 에 의해 위 아래 함장님이요 체크
SHOW GRANTS FOR 'user'@'localhost'
혹시, 제한하려면 에만 액세스하도록 사용자가 한 표
GRANT ALL ON mydb.table_name TO 'someuser'@'host';