Permissions for mysql 'SHOW CREATE PROCEDURE'?
I'm working on creating a 'read-only' mysql database. I want the user to be able to see everything, but not be able to modify anything. My user currently has the following grants:
GRANT USAGE ON . TO 'sqlprostudio-ro'@'%' IDENTIFIED BY PASSWORD '*x'
GRANT SELECT, EXECUTE, SHOW VIEW ON northwind.* TO 'sqlprostudio-ro'@'%'
I can see stored procedures, but if I run:
SHOW CREATE PROCEDURE x
The 'Create procedure' column returns null. Is there a way I can allow a read-only user to see the creation procedure without being able to modify it?
mysql stored-procedures permissions
add a comment |
I'm working on creating a 'read-only' mysql database. I want the user to be able to see everything, but not be able to modify anything. My user currently has the following grants:
GRANT USAGE ON . TO 'sqlprostudio-ro'@'%' IDENTIFIED BY PASSWORD '*x'
GRANT SELECT, EXECUTE, SHOW VIEW ON northwind.* TO 'sqlprostudio-ro'@'%'
I can see stored procedures, but if I run:
SHOW CREATE PROCEDURE x
The 'Create procedure' column returns null. Is there a way I can allow a read-only user to see the creation procedure without being able to modify it?
mysql stored-procedures permissions
add a comment |
I'm working on creating a 'read-only' mysql database. I want the user to be able to see everything, but not be able to modify anything. My user currently has the following grants:
GRANT USAGE ON . TO 'sqlprostudio-ro'@'%' IDENTIFIED BY PASSWORD '*x'
GRANT SELECT, EXECUTE, SHOW VIEW ON northwind.* TO 'sqlprostudio-ro'@'%'
I can see stored procedures, but if I run:
SHOW CREATE PROCEDURE x
The 'Create procedure' column returns null. Is there a way I can allow a read-only user to see the creation procedure without being able to modify it?
mysql stored-procedures permissions
I'm working on creating a 'read-only' mysql database. I want the user to be able to see everything, but not be able to modify anything. My user currently has the following grants:
GRANT USAGE ON . TO 'sqlprostudio-ro'@'%' IDENTIFIED BY PASSWORD '*x'
GRANT SELECT, EXECUTE, SHOW VIEW ON northwind.* TO 'sqlprostudio-ro'@'%'
I can see stored procedures, but if I run:
SHOW CREATE PROCEDURE x
The 'Create procedure' column returns null. Is there a way I can allow a read-only user to see the creation procedure without being able to modify it?
mysql stored-procedures permissions
mysql stored-procedures permissions
edited Aug 30 '17 at 16:31
RolandoMySQLDBA
141k24221379
141k24221379
asked Aug 30 '17 at 16:07
KyleKyle
23339
23339
add a comment |
add a comment |
2 Answers
2
active
oldest
votes
the second line in man says:
To use either statement, you must be the user named in the routine DEFINER clause or have SELECT access to the mysql.proc table. If you do not have privileges for the routine itself, the value displayed for the Create Procedure or Create Function field will be NULL.
The other option (just a suggestion) you may design a procedure or function (preferable) to show the info in question.
Regards,
Thanks! Adding "GRANT SELECT ON mysql.proc tox
;" sorted the issue.
– Kyle
Aug 30 '17 at 16:19
add a comment |
Under MySQL 8.0 things have changed, and you have to grant global SELECT privs to the user, so you'll need to do:
GRANT SELECT ON . to ....
New contributor
add a comment |
Your Answer
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "182"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fdba.stackexchange.com%2fquestions%2f184724%2fpermissions-for-mysql-show-create-procedure%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
the second line in man says:
To use either statement, you must be the user named in the routine DEFINER clause or have SELECT access to the mysql.proc table. If you do not have privileges for the routine itself, the value displayed for the Create Procedure or Create Function field will be NULL.
The other option (just a suggestion) you may design a procedure or function (preferable) to show the info in question.
Regards,
Thanks! Adding "GRANT SELECT ON mysql.proc tox
;" sorted the issue.
– Kyle
Aug 30 '17 at 16:19
add a comment |
the second line in man says:
To use either statement, you must be the user named in the routine DEFINER clause or have SELECT access to the mysql.proc table. If you do not have privileges for the routine itself, the value displayed for the Create Procedure or Create Function field will be NULL.
The other option (just a suggestion) you may design a procedure or function (preferable) to show the info in question.
Regards,
Thanks! Adding "GRANT SELECT ON mysql.proc tox
;" sorted the issue.
– Kyle
Aug 30 '17 at 16:19
add a comment |
the second line in man says:
To use either statement, you must be the user named in the routine DEFINER clause or have SELECT access to the mysql.proc table. If you do not have privileges for the routine itself, the value displayed for the Create Procedure or Create Function field will be NULL.
The other option (just a suggestion) you may design a procedure or function (preferable) to show the info in question.
Regards,
the second line in man says:
To use either statement, you must be the user named in the routine DEFINER clause or have SELECT access to the mysql.proc table. If you do not have privileges for the routine itself, the value displayed for the Create Procedure or Create Function field will be NULL.
The other option (just a suggestion) you may design a procedure or function (preferable) to show the info in question.
Regards,
answered Aug 30 '17 at 16:14
Dmytro Kh.Dmytro Kh.
93117
93117
Thanks! Adding "GRANT SELECT ON mysql.proc tox
;" sorted the issue.
– Kyle
Aug 30 '17 at 16:19
add a comment |
Thanks! Adding "GRANT SELECT ON mysql.proc tox
;" sorted the issue.
– Kyle
Aug 30 '17 at 16:19
Thanks! Adding "GRANT SELECT ON mysql.proc to
x
;" sorted the issue.– Kyle
Aug 30 '17 at 16:19
Thanks! Adding "GRANT SELECT ON mysql.proc to
x
;" sorted the issue.– Kyle
Aug 30 '17 at 16:19
add a comment |
Under MySQL 8.0 things have changed, and you have to grant global SELECT privs to the user, so you'll need to do:
GRANT SELECT ON . to ....
New contributor
add a comment |
Under MySQL 8.0 things have changed, and you have to grant global SELECT privs to the user, so you'll need to do:
GRANT SELECT ON . to ....
New contributor
add a comment |
Under MySQL 8.0 things have changed, and you have to grant global SELECT privs to the user, so you'll need to do:
GRANT SELECT ON . to ....
New contributor
Under MySQL 8.0 things have changed, and you have to grant global SELECT privs to the user, so you'll need to do:
GRANT SELECT ON . to ....
New contributor
New contributor
answered 7 mins ago
user172198user172198
1
1
New contributor
New contributor
add a comment |
add a comment |
Thanks for contributing an answer to Database Administrators Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fdba.stackexchange.com%2fquestions%2f184724%2fpermissions-for-mysql-show-create-procedure%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown